Object detection techniques using colorspace conversions

ABSTRACT

Techniques, devices, and systems to improve detection and security of a displayed image on a screen of a computer device, such as a device, including detection of an object in an environment, where the object has an inverse-colorspace relationship in relation to the colorspace of the environment. A system includes: a first camera device configured to determine a first underlying colorspace corresponding to an environment, a second camera device configured to determine a second underlying colorspace corresponding to either i) an actual change in the environment or ii) a predicted change in the environment, and a computer device configured to determine an inverse colorspace of at least one of i) the first underlying colorspace or ii) the second underlying colorspace and configured to detect an object in the environment based on the inverse colorspace determination.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/684,362, entitled “OBJECT DETECTION TECHNIQUES USING COLORSPACECONVERSIONS” filed on Nov. 14, 2019. The contents of the aforementionedapplication are incorporated herein by reference in their entirety.

BACKGROUND

Since time immemorial, certain materials (e.g., paint, ink, and/or thelike) have been used to memorialize scenes and/or objects intosemi-permanent to permanent mediums. Such memorialization includesefforts in photography to create photos. Computer technologies allow fordigitization and detections of these photos into images and haveintroduced image processing as a technical field. Edge detectionconstitutes at least one aspect of image processing and has applicationsin a number of cases.

It is with respect to these and other considerations that the presentimprovements have been needed.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some novel embodiments described herein. This summaryis not an extensive overview, and it is not intended to identifykey/critical elements or to delineate the scope thereof. Its solepurpose is to present some concepts in a simplified form as a prelude tothe more detailed description that is presented later.

One aspect of the present disclosure includes an apparatus foroptimizing detection of an object a particular environment. Theapparatus includes: a memory to store instructions, and processingcircuitry, coupled with the memory, operable to execute theinstructions, that when executed, cause the processing circuitry to:receive a representative dataset containing an environment, process therepresentative dataset to create a histogram of the environment,identify a most prevalent plurality of colors associated with theenvironment based on the histogram, set at least one camera or scanningdevice to correspond to a colorspace associated with the histogram, anddetect an object in the environment that is associated with a relatedplurality of colors in relation to the most prevalent plurality ofcolors.

One aspect of the present disclosure includes an apparatus foroptimizing detection of an object a particular environment. Theapparatus includes: a memory to store instructions, and processingcircuitry, coupled with the memory, operable to execute theinstructions, that when executed, cause the processing circuitry to:receive a representative dataset associated with a colorspace of anobject, process the representative dataset to create a histogram of theobject, identify a most prevalent plurality of colors associated withthe object based on the histogram, set at least one camera or scanningdevice environment to correspond to an inverse-colorspace associatedwith a related plurality of colors, wherein the related plurality ofcolors have a relationship with the most prevalent plurality of colors,and detect the object entering a detection area of the at least onecamera or scanning device.

Another aspect of the present disclosure includes a method for detectingan object optimized for detection in a particular environment. Themethod includes: determining a colorspace associated with anenvironment, determining an inverse-colorspace of the colorspaceassociated with the environment, and detecting an object introduced intoan environment, wherein the object includes a plurality of non-black andnon-white colors, and wherein the object has a color distribution thatmatches at least one color of the inverse-colorspace.

Yet another aspect of the present disclosure includes a system foroptimizing detection in a particular environment. The system includes: afirst camera device configured to determine a first underlyingcolorspace corresponding to an environment, a second camera deviceconfigured to determine a second underlying colorspace corresponding toeither i) an actual change in the environment or ii) a predicted changein the environment, and at least one computer device configured todetermine an inverse colorspace of at least one of i) the firstunderlying colorspace or ii) the second underlying colorspace andconfigured to detect an object in the environment based on the inversecolorspace determination, wherein the object includes at least one colorpursuant to the inverse colorspace. In various embodiments, the at leastone computer device is configured to determine the inverse colorspace ofboth the first underlying colorspace and the second underlyingcolorspace and configured to detect an object in the environment basedon the inverse colorspace determination, and where the object includesat least one color pursuant to both the inverse colorspace of the firstunderlying colorspace and the inverse colorspace of the secondunderlying colorspace. In various embodiments, the at least one computerdevice is configured to determine the inverse colorspace by convertingeither the first underlying colorspace or the second underlyingcolorspace into another colorspace. In various embodiments, the objectcan contain a color distribution with a plurality of colorscorresponding to the another colorspace. In various embodiments, theanother colorspace contains a plurality of colors that are inverse inrelationship to at least one color in both the first underlyingcolorspace and the second underlying colorspace.

To the accomplishment of the foregoing and related ends, certainillustrative aspects are described herein in connection with thefollowing description and the annexed drawings. These aspects areindicative of the various ways in which the principles disclosed hereincan be practiced and all aspects and equivalents thereof are intended tobe within the scope of the claimed subject matter. Other advantages andnovel features may become apparent from the following detaileddescription when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a system to improve edge detectionin images in accordance with at least one embodiment of the presentdisclosure.

FIG. 2A illustrates an embodiment of a clustering process for the systemof FIG. 1 and in accordance with at least one embodiment of the presentdisclosure.

FIG. 2B illustrates an embodiment of a colorspace conversion techniquefor the system of FIG. 1 and in accordance with at least one embodimentof the present disclosure.

FIG. 3 illustrates an embodiment of a centralized system for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 4 illustrates an embodiment of an operating environment for thesystem of FIG. 1 in accordance with at least one embodiment of thepresent disclosure.

FIG. 5A illustrates an embodiment of a first logic flow for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 5B illustrates an embodiment of a second logic flow for the systemof FIG. 1 and in accordance with at least one embodiment of the presentdisclosure.

FIG. 5C illustrates an embodiment of a third logic flow for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 5D illustrates an embodiment of a fourth logic flow for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 5E illustrates an embodiment of a fourth logic flow for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 5F illustrates an embodiment of a fifth logic flow for the systemof FIG. 1 in accordance with at least one embodiment of the presentdisclosure.

FIG. 6A illustrates formation of a scannable image in accordance with atleast one embodiment of the present disclosure.

FIG. 6B illustrates formation of a scannable image in accordance with atleast one embodiment of the present disclosure.

FIG. 6C illustrates formation of a scannable image in accordance with atleast one embodiment of the present disclosure.

FIG. 7A illustrates a computer device for generating and scanning ascannable image in accordance with at least one embodiment of thepresent disclosure.

FIG. 7B illustrates a computer device for optimizing detection of anobject in an environment and/or for detecting the object in theenvironment.

FIG. 8 illustrates an embodiment of a graphical user interface (GUI) forthe system of FIG. 1.

FIG. 9 illustrates an embodiment of a computing architecture.

FIG. 10 illustrates an embodiment of a communications architecture.

DETAILED DESCRIPTION

Various embodiments are directed to improving image processing byidentifying which colorspace model is most appropriate to use fordetection in a particular environment, e.g., to convert betweencolorspace(s) to improve detection within particular environments or inassociation with particular targets. In various embodiments, theconversion between colorspace(s) provides for a matrix located on anobject or displayed by an electronic device, where the matrix isoptimized for detection in an environment by performing one or morecolorspace conversations in generating the matrix. In one or moreembodiments, the matrix is a matrix barcode, and in one or moreembodiments, the matrix barcode is a fiducial marker.

In various embodiments, the colorspace conversion encodes informationwith respect to a matrix barcode, which permits proper scanning of theobject associated with the matrix barcode, while preventing tamperingand false verifications, e.g., the color-channels containing theinformation are tied to the conversion, and without having a scanningdevice accessing information related to the conversion, the scan cannotverify the object associated with the object and/or access anyinformation associated therewith.

In various embodiments, a colorspace conversion provides for increasingthe amount of information stored on the matrix, e.g., matrix barcode, asthe color-channels associated with the converted-to (derivative)colorspace can be increased as needed, without any limitation (providedthe scanning equipment is suitably configured to make detections whenthe matrix is scanned).

In various embodiments, to further increase the information associatedwith the matrix, add additional layers of security, and/or make optimaluse of inks associated with printing the matrix, ultraviolet and/orinfrared layers can be used with respect to the matrix.

Accordingly, various embodiments of the present disclosure provide atleast one of the following advantages: i) enhancing detection of animage, e.g., matrix, on an object in an environment, (as the matrixcolors are selected and optimized with the colors of the environment inmind), ii) providing for a more secure verification, and iii) storingmore information on the matrix, as there are no front-loaded limitationson how many color-channels can be employed, and the amount ofinformation can be further increased, and a verification scan made moresecure, by adding infrared or ultraviolet features.

In various embodiments, the colorspace conversions improve edgedetection. In image processing, edge detection is a known technicalfield and techniques for edge detection provide different results fordifferent colorspace models. It is not unusual for one colorspace modelto provide better results over another colorspace in edge detectionbecause having image data in accordance with the colorspace model has ahigher likelihood of success in edge detection than the other colorspacemodel.

Colorspace models are configured to represent color data, but mostmodels differ in their representation of that color data. For instance,the CIELAB or LAB colorspace model represents color as three values: Lfor the Luminance/Lightness and Alpha (A) and Beta (B) for the green-redand blue-yellow color components, respectively. The LAB colorspace modelis typically used when converting from a Red-Green-Blue (RGB) colorspacemodel into Cyan-Magenta-Yellow-Black (CMYK). For some images,representing its color data in the LAB colorspace model provides betteredge detection results than other colorspace models including the RGBmodel. As a result, the embodiments can improve affordability,scalability, modularity, extendibility, or interoperability for anoperator, device or network that utilizes image detection as a means ofverifying a transaction by providing a more effective and accuratemanner of scanning an image associated with the verification (and byextension, minimizing redundant consumption of computer resources).

With general reference to notations and nomenclature used herein, thedetailed descriptions which follow may be presented in terms of programprocedures executed on a computer or network of computers. Theseprocedural descriptions and representations are used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art.

A procedure is here, and generally, conceived to be a self-consistentsequence of operations leading to a desired result. These operations arethose requiring physical manipulations of physical quantities. Usually,though not necessarily, these quantities take the form of electrical,magnetic or optical signals capable of being stored, transferred,combined, compared, and otherwise manipulated. It proves convenient attimes, principally for reasons of common usage, to refer to thesesignals as bits, values, elements, symbols, characters, terms, numbers,or the like. It should be noted, however, that all of these and similarterms are to be associated with the appropriate physical quantities andare merely convenient labels applied to those quantities.

Further, the manipulations performed are often referred to in terms,such as adding or comparing, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, or desirable in most cases, in any of theoperations described herein which form part of one or more embodiments.Rather, the operations are machine operations. Useful machines forperforming operations of various embodiments include general purposedigital computers or similar devices.

Various embodiments also relate to apparatus or systems for performingthese operations. This apparatus may be specially constructed for therequired purpose or it may comprise a general-purpose computer asselectively activated or reconfigured by a computer program stored inthe computer. The procedures presented herein are not inherently relatedto a particular computer or other apparatus. Various general-purposemachines may be used with programs written in accordance with theteachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these machines may appear from thedescription given.

Various embodiments contained herein also facilitate optimized detectionfor any object (not just matrixes or barcodes) as may be introduced intoa particular environment, including optimizing the object for detectionbased on an anticipated environmental change. In various embodiments,this can be achieved by having suitable camera and/or computer devicesdetermine a colorspace of the environment and/or changed environment (asmay be predicted or as actually changed) and converting that colorspaceinto one or more colorspaces with an inverse relationship to thatcolorspace. The object to be introduced can have one or more colorscorresponding to that inverted colorspace, and as such, optimized fordetection in the environment (in its current or changed formed).

Various embodiments contained herein also facilitate optimized detectionfor any object that is introduced into a particular environment bydetermining a colorspace corresponding to a primary or most prevalentcolors associated with that object, and then setting the colorspace ofan environment associated with the object to be the inverse of thatcolorspace. In various embodiments, when the object enters into adetection area associated with a camera or scanning device (e.g. device195 and/or device 197), associated with that environment, the object canbe more easily detected as a result of the adjustment. In variousembodiments, “detection area” can include any conventional understandingof the term, including but not limited to an area that indicates theentire range where a camera and/or scanning device can detect an entityor object entering therein, including virtual environments and/or actualenvironments associated with a scanning and/or camera device. In variousembodiments, the environment with respect to the inverse-colorspace canbe one or more of a physical environment, a computer setting of a cameraor scanning device and/or a virtual and/or augmented reality, e.g. suchas an actual physical environment that the object will enter into or avirtual and/or computer-based environment associated with a setting ofthe camera or scanning device (e.g. the colorspace of the camera orscanning device can be set to be the inverse of the colorspace of theobject for detection purposes).

Accordingly, various embodiments enhance the ability of one or moredevices to perform image recognition or detection of objects in variouskinds of environments.

Reference is now made to the drawings, wherein like reference numeralsare used to refer to like elements throughout. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding thereof. It maybe evident, however, that the novel embodiments can be practiced withoutthese specific details. In other instances, well-known structures anddevices are shown in block diagram form to facilitate a descriptionthereof. The intention is to cover all modifications, equivalents, andalternatives consistent with the claimed subject matter.

FIG. 1 illustrates a block diagram for a system 100. Although the system100 shown in FIG. 1 has a limited number of elements in a certaintopology; it may be appreciated that the system 100 may include more orfewer elements in alternate topologies as desired for a givenimplementation. The system 100 may implement some or all of thestructure and/or operations for the system 100 in a single computingentity, such as entirely within a single device.

The system 100 may comprise an apparatus 120. The apparatus 120 may begenerally arranged to process input 110 using various components andgenerate output 130 of which (some) output 130 is displayed on a displaydevice or printed on a suitable material surface. The apparatus 120 maycomprise a processor 140 (e.g., processing circuit) and computer memory150. The processing circuit 140 may be any type of logic circuit and thecomputer memory 150 may be a configuration of one or more memory units.

The apparatus 120 further includes logic 160 stored in the computermemory 150 and executed on the processing circuit 140. The logic 160 isoperative to cause the processing circuit 140 to process image data ofimage datasets 170 into patched image data where the image data is beingconfigured in accordance with a colorspace model. The colorspace modelas described herein refers to any suitable colorspace model, such asRed-Green-Blue (RGB), Cyan-Magenta-Yellow-Black (CMYK),Luminance-Alpha-Beta (LAB), and/or the like. For example, the Alpha andBeta channels of the LAB colorspace model refer to green-red andblue-yellow color components, respectively. The green-red component mayrepresent a variance between red and green with green in the negativedirection, and red in the positive direction along an axis and theblue-yellow component may represent a variance between blue and yellowwith blue in the negative direction and yellow in the positive directionalong an axis. In various embodiments, an edge may be defined(mathematically) as each pixel location where the Alpha channel has avalue of zero (0) or near zero.

In various embodiments, the patched image data includes a plurality ofpatches of which each patch comprises color data (e.g., pixel data whereeach pixel is represented as a tuple of Red-Green-Blue (RGB) colorintensities). As described herein, one colorspace model (e.g., RGB) maycorrespond to a higher likelihood of success in edge detection thananother colorspace model. Some images provide optimal or near-optimaledge detection results when arranged in RGB while other images provideoptimal or near-optimal edge detection results when arranged in LAB oran XYZ colorspace and vice versa.

In various embodiments, the logic 160 is further operative to cause theprocessing circuit 140 to apply the colorspace transform mechanism 180to the image data to generate the transformed image data in accordancewith the other colorspace model. Then, the logic 160 is operative tocause the processing circuit 140 to apply an edge detection technique190 to the transformed image data. The edge detection technique 190 isan image processing technique that refers to any one of a number ofalgorithms for identifying edges or boundaries of objects within images.In general, the edge detection technique 190 provides information (e.g.,pixel data) indicating positions of edges in the image data of the imagedatasets 170. Some implementations of the edge detection technique 190operate by detecting discontinuities in brightness and, for thoseimplementations, having the image data in a LAB colorspace, or XYZcolorspace over RGB provides more precise edge detection results. Someimplementations of the edge detection technique 190 provide accurateedge detection results when the image data is modeled according to HCL(Hue-Chroma-Luminance) instead of RGB.

In various embodiments, the logic 160 is further operative to cause theprocessing circuit 140 to identify an image group corresponding to thepatched image data. The image datasets 170 further includes image groupmodel data correlating images with a colorspace model most likely toprovide appropriate edge detection results. In various embodiments, theimage group model data indicates which colorspace model to use intransforming a given image prior to edge detection to achievenear-optimal edge detection results. The logic 160 is further configuredto cause the processing circuit 140 to select a colorspace transformmechanism 180 based upon the image group. The colorspace transformmechanism 180 is operative to transform the image data into transformedimage data in accordance with another colorspace model, the othercolorspace model having a higher likelihood than the colorspace model atedge detection for the image group. It is appreciated that the othercolorspace model may be any colorspace model including those with adifferent number of channels than the colorspace model.

In various embodiments, the logic 160 can be further operative to causethe processing circuit 140 to determine a colorspace that is optimal fordetection in association with a particular object, entity, orenvironment, where a colorspace or histogram representation of theparticular object, entity or environment can be part of the imagedatasets 170. The logic 160 can be further operative to cause theprocessing circuit 140 to determine the optimal colorspace based on oneor more colorspace conversion operations, where the colorspaceconversion operations can provide a mechanism for encoding informationin any suitable medium, including but not limited to a matrix, such as amatrix barcode, a fiducial marker, any other suitable barcode, or anyother suitable image. The logic 160 can be further operative to causethe processing circuit 140 to generate a scheme for a matrix, e.g., amatrix barcode, fiducial marker, etc. based on the colorspacedetermination and for detection in relation to the particular object,entity, or environment. The logic 160 can further be operative to causethe processing circuit 140 to provide for a scheme to add at least oneultraviolet layer and infrared layer to an image, such as a matrix ormatrix barcode, useful for detection in relation to the particularobject, entity, or environment, where the ultraviolet layer and/orinfrared layer add additional data carrying capacity and/or security tothe detectable image.

The one or more colorspace models as described herein, as stated andimplied elsewhere herein, refers to any suitable colorspace model, suchas colorspace employing a tristimulus system or scheme, theRed-Green-Blue (RGB), the Luminance-Alpha-Beta (LAB), an XYZ colorspace,and/or the like and/or variations of the same. Similarly, althoughvarious embodiments may refer to a particular conversion from onespecific colorspace to another specific colorspace, conversions betweenother color spaces are contemplated and consistent with the teachings ofthe present disclosure.

In various embodiments, as described herein, one colorspace model (e.g.,RGB or XYZ) may correspond to a higher likelihood of success in edgedetection than another colorspace model in terms of detection of adisplayed or printed image, e.g. barcode, in relation to an object,entity, or environment with a particular color distribution. Moreover,particular colors and color-channels associated with a colorspace mayoffer superior edge detection in relation to the object, entity, orenvironment. Some images provide optimal or near-optimal edge detectionresults when arranged in RGB while other images provide optimal ornear-optimal edge detection results when arranged in XYZ or LAB and viceversa. By way of example, an image depicting a red balloon on a greenfield would appear much different in RGB than in LAB; therefore, withrespect to edge detection, LAB would provide a higher likelihood thanRGB at successfully identifying and locating edges (e.g., boundaries) ofthe red balloon, or a matrix, e.g., barcode or fiducial marker, that hada red color in the green environment.

In various embodiments, a color-channel is a distribution of colors witha first color and second color of first and second highest prevalence,respectively, where the first color becomes a minimum in the colorchannel and the second color becomes the maximum such that the boundarymay be a transition between these colors. This boundary may be at leastone pixel where the color changed from the first to the second color orvice versa. If the first color is set to zero (0) and the second coloris set to two hundred and fifty-five (255), then, mathematically, thisboundary may be located at pixel(s) that jumped between the minimum andmaximum value; for example, there may be sharp division (i.e., thinboundary) in which at least two neighboring pixels transitionimmediately between 0 and 255. In various embodiments, color-channels,e.g., “R,” “G,” and “B” define a colorspace such as RGB (e.g., a firstcolorspace based on a tristimulus system), and in various embodimentscustom color-channels can be created using a (second) tristimulus systemassociated with and defining an XYZ colorspace (and/or conversions to anXYZ colorspace). In various embodiments, the color-channels can begreater than three.

In various embodiments, as discussed herein, one or more color-channelranges are selected such that a maximum color value of one or more colorchannel corresponds to a unique color value, most prevalent color value,and/or highest color value of a target object, entity, and/orenvironment associated with a scan and the minimum color value of thecolor-channel corresponds to a most unique color, most prevalent colorvalue and/or highest color value of the scannable image, e.g. matrix,matrix barcode, and/or fiducial marker, where additionally, the mostprevalent value and/or highest color value of the scannable image isalso a least prevalent (lowest color value) and/or absent from thetarget object, entity, and/or environment associated with the scan, orvisa-versa (e.g. with respect to the maximum or minimum values).

In various embodiments, as described herein, particular objects,entities, or environments may have color distributions that make morecomplicated and varied colorspaces, and colors and color-channelsassociated therewith, including colors imperceptible by the human eye,more attractive for detection, in addition to increasing capacity forstorage and encryption of information. As such, in various embodiments,the logic 160 is further operative to cause the processing circuit 140to identify an image group corresponding to the patched image data. Theimage datasets 170 further includes image group model data correlatingimages with a colorspace transform model most likely to provideappropriate edge detection results. In some embodiments, the image groupmodel data indicates which colorspace transform model to use intransforming a given image prior to edge detection in order to achievenear-optimal edge detection results. The logic 160 is further configuredto cause the processing circuit 140 to select a colorspace transformmechanism 180 based upon the image group. The colorspace transformmechanism 180 is operative to transform the image data into transformedimage data in accordance with another colorspace model, the othercolorspace model having a higher likelihood than the colorspace model atedge detection for the image group.

In various embodiments, the colorspace transform mechanism 180 isoperative to transform the image data in accordance with anothercolorspace model such that the another colorspace model is an inversecolorspace model in relation to the colorspace model originallyassociated with the image data, and such that the inverse colorspacemodel corresponds to an object that will enter an environmentcorresponding to the colorspace model originally associated with theenvironment. The inverse colorspace model can be any suitable colorspacemodel, including a model based on any suitable colorspace conversion,that has a maximum-minimum relation in relation to at least one color ofthe environment and at least one color of the object, e.g. based on acoordinate relationship. In various embodiments, the maximum-minimumrelationship is with respect to more than one color of the environmentin relation to the object, and in various embodiments, all of the colorsof the object and environment are in a maximum-minimum relationship withrespect to one another. The relationship can be defined by any suitablemechanism or technique, including but not limited to converting to anXYZ colorspace as disclosed herein or otherwise suitable. In variousembodiments, since the colors of the object are opposite to colors ofthe environment, the chance that the object will be successfullydetected by a suitable device, e.g. camera 197, increases substantially.

In various embodiments, the original colorspace of the image data cancorrespond to an actual environment and/or predicted changes based onthat environment, e.g. if the colorspace will change as a result ofchanges in time (night and day), scheduled renovations or alterations tothe environment, etc. In various embodiments, any suitable camera orscanning device, e.g. 195 or 197, can be configured or set according tothe original colorspace associated with the image data and environment(and a histogram associated therewith and pursuant to any suitabletechnique as discussed herein) such that when an object corresponding tothe converted or another colorspace enters the environment (e.g.including scenarios where the object is printed and/or manufactured inadvance with the another colorspace in view of the colorspace of theenvironment) the chances that the camera or scanning device can detectthe object increases substantially.

In various embodiments, the colors associated with the object can be inbetween the inverse colors associated with a colorspace conversion, e.g.in between a minimum color (e.g. absent or least prevalent) and amaximum color (e.g. prevalent) associated with the environment, withoutnecessarily containing one or more colors that correspond to opposite,least prevalent, or absent colors in relation to the environment.

In various embodiments, the colorspace transform mechanism 180 isoperative to transform the image data in accordance with anothercolorspace model such that the another colorspace model is an inversecolorspace model in relation to the colorspace model originallyassociated with the image data, where the image data originallycorresponded to a colorspace associated with an object, including atleast one most prevalent color in association therewith, and such thatthe inverse colorspace model corresponds to an environment associatedwith a scanning and/or camera device where the object will enter intofor detection purposes. In various embodiments, the environment canrefer to an actual physical environment that the object will enter intoand/or a computer-generated and or virtual environment associated with asetting of one or more of the scanning and/or camera devices. Theinverse colorspace model can be any suitable colorspace model, includinga model based on any suitable colorspace conversion, that has amaximum-minimum relation in relation to at least one color of theenvironment and at least one color of the object, e.g. based on acoordinate relationship. In various embodiments, the maximum-minimumrelationship is with respect to more than one color of the environmentin relation to the object, and in various embodiments, all of the colorsof the object and environment are in a maximum-minimum relationship withrespect to one another. The relationship can be defined by any suitablemechanism or technique, including but not limited to converting to anXYZ colorspace as disclosed herein or otherwise suitable. In variousembodiments, since the colors of the object are opposite to colors ofthe environment, the chance that the object will be successfullydetected by a suitable device, e.g. camera 197, increases substantially.

In various embodiments, the inverse-colorspace of the image data cancorrespond to an actual environment and/or predicted changes based onthat environment, e.g. if the colorspace will change as a result ofchanges in time (night and day), scheduled renovations or alterations tothe environment, etc.

In various embodiments, any suitable camera or scanning device, e.g. 195or 197, can be configured or set according to the original colorspaceand/or inverse-colorspace associated with either the image data of theoriginal colorspace corresponding to the object and/or theinverse-colorspace corresponding to the environment (and a histogramassociated therewith and pursuant to any suitable technique as discussedherein) such that when an object enters the environment (e.g. includingscenarios where the object is printed and/or manufactured in advancewith the another colorspace in view of the colorspace of theenvironment) the chances that the camera or scanning device can detectthe object increases substantially.

In various embodiments, the colors associated with the environment canbe in between the inverse colors associated with a colorspaceconversion, e.g. in between a minimum color (e.g. absent or leastprevalent of the object) and a maximum color (e.g. most prevalent colorassociated with the object) without necessarily containing one or morecolors that correspond to opposite, least prevalent, or absent colors inrelation to the object.

In various embodiments, the system 100 can include one or more of acamera or video device 195 and/or a scanning device 197, where bothdevice 195 and device 197 can be any suitable device for obtaining,capturing, editing, and/or scanning images, including but not limited tovideo or camera pictures, of objects, entities, and/or environments. Thelogic 160 can be configured to capture or scan images of a particularobject, entity or environment using device 195 and/or device 197, wherethe captured images can become part of image datasets 170 and used fordetermining suitable colorspaces, performing colorspace conversions,and/or scanning images determined from colorspace conversions, as may beconsistent with the teachings provided herein.

In various embodiments, the system 100 can include a printing device 199(e.g. printer) or an application for the same, where images part ofimage datasets 170 and/or images generated by one or more components ofsystem 100, by applying a colorspace transformation technique ormechanism, such as a scannable matrix, matrix barcode, or fiducialmarker can be printed by printing device 199 and/or printing device 199can provide a scheme for another device to print or generate an image inassociation with the scannable matrix, matrix barcode, or fiducialmarker.

FIG. 2A illustrates an embodiment of a clustering process 200A for thesystem 100. The clustering process 200A operates on image datasets(e.g., the image datasets 170 of FIG. 1) storing color data for images.

In some embodiments of the clustering process 200A, color data 202 of animage undergoes a patching operation where the image is processed into aplurality of patches 204 of patched image data 206. Each patch 204 ofthe patched image data 206 includes color data in accordance with acolorspace model, such as pixel data having RGB tuples. The clusteringprocess 200A further processes the patched image data 206, via atransformation operation 208, by applying a colorspace transformmechanism on the color data of the patched image 206 to transformpatched image data into transformed image data of a transformed image210. The color data of the patched image 206 is configured in accordancewith the colorspace model and new color data for the transformed image210 is generated according to another colorspace model.

In some embodiments, the clustering process 200A performs amini-colorspace transform for at least one patch of the patched image206, possibly leaving one or more patches without a transformation. Viathe transformation operation 208, the mini-colorspace transform modifiesthe color data in the at least one patch to transform patched image datainto transformed image data of a transformed image 210. The clusteringprocess 200A may perform stitching between patches to make the patchedimage 206 uniform as opposed to creating artificial edges.

FIG. 2B illustrates an example of a colorspace conversion scheme 200B inaccordance with various embodiments of the present disclosure. Ahistogram 218 representation of a particular object, entity, orenvironment 215 is provided (where the numbers 100, 90, 80, and 70 areintended to represent a simplified version of colors distribution valuesof one or more colors representing the particular object, entity, orenvironment 215). The histogram 218 can be generated by having one ormore components of system 100 performing a scan of the particularobject, entity, or environment 215 and generating a histogram 218 of themost prevalent colors, least prevalent colors, or absent colors of theobject, entity, or environment 215. In one or more embodiments, thehistogram 218 can be of four or more colors of the most prevalent colorsof the object, entity, or environment. Since various embodiments of thepresent disclosure expressly contemplate using colors imperceptible tothe human eye, there is no limitation on the number of colors that canbe used with respect to the histogram 218, the colorspace conversionsdiscussed herein, or any images generated from the colorspaceconversions, including but not limited to a matrix, matrix barcode,fiducial marker, etc. can have in excess of four colors and fourcolor-channels, where the four colors and/or four color-channels aredistinct and different with respect to one another.

In various embodiments, one or more components of system 100 candetermine the most prevalent colors associated with the object, entity,or environment 215, and the resulting histogram 218 may be based on thatdetermination. The histogram 218 can be used to map the most prevalentcolors to a distribution 222 associated with a suitable colorspace 224,including but not limited to an RGB colorspace 224. In variousembodiments, the colors of histogram 218 are mapped pursuant to thetristimulus values of the RGB colorspace, e.g., “R,” “G,” and “B.” Anysuitable mathematical conversion, e.g., linear-algebraic, etc. can beused to map the conversion to the RGB colorspace, e.g., convert themapped RGB colorspace to another colorspace.

In various embodiments, once the distribution 222 is mapped according tothe RGB colorspace 224, one or more components of system 100 can convertthe RGB distribution 222 to a new colorspace 226 with a distribution 228pursuant to the new colorspace 226. Any suitable colorspace conversioncan be used, including converting to an XYZ colorspace, where theconversion can be pursuant to any suitable mathematical conversions andequations that govern the XYZ colorspace, including suitable tristimulusconversions between RGB and XYZ. In various embodiments, “Y” representsa luminance value of the XYZ space and at least one of “X” and “Z” (orboth) represent a chrominance value of the colorspace and an associateddistribution, e.g. 226 plotted pursuant to the XYZ colorspace.

In various embodiments, the luminance channel “Y” is filtered outresulting in colorspace 226′ and distribution 228′, which can assist inmaking determinations solely on actual chromatic values associated withthe entity, object, or environment 215, without considering luminance(this is helpful at least because colors can be used that areimperceptible to the human eye). In various embodiments, four (or more)lines can be defined by points (a1, b1), (a2, b2), (a3, b3), and (a4,b4), and are selected to have a maximum distance apart with respect todistribution 226′. In various embodiments, the points a1, a2, a3, and a4are selected to correspond to the most prevalent colors associated withentity, object, or environment 215 and b1, b2, b3, and b4 by extension,being opposite to those colors, may represent the least prevalent orabsent colors in association with an entity, object, or environment b1,b2, b3, b4. These lines may define vectors for a new colorspaceconversion in an XYZ or other suitable colorspace 245 and may form thebasis for new XYZ tristimulus values. An image, such as a matrix ormatrix barcode, can be made using colors associated with the newcolorspace 250 and a distribution 245 of colors defined by color-channelvectors (i, −i), (j, −j), (k, −k), an additional color-channel and allother color-channels (omitted from display due to the limitations ofthree-dimensional space) associated therewith. In various embodiments,since the colors may correspond to less prevalent or absent colors inrelation to where a potential scan may occur (or what is being scanned),e.g., a matrix barcode on an entity or object and/or in an environmentwith colors that have a maximum difference in relation thereto, edgedetection is enhanced.

Alternatively, although not expressly shown, the maximum distance fromthe most prevalent colors to least prevalent colors can be determined,e.g., a1 to b1, a2 to b2, etc., and then lines can be drawn from b1, b2,b3, and b4 in a direction tangential, parallel or opposite a vector ordirection associated with a1, a2, a3, and a4. The color-channel vectors(i, −i), (j, −j), (k, −k), an additional color-channel and all othercolor-channels (omitted from display due to the limitations ofthree-dimensional space) associated with colorspace 250 may be entirelycolors absent and/or mildly prevalent in relation to entity, object, orenvironment 215, which can further enhance edge detection.

In various embodiments, when performing the colorspace conversionbetween 228′ and 250, in addition to carrying out the algebraic or othersuitable conversions associated with the XYZ colorspace, thecolor-channel vectors, e.g. (i, −i), (j, −j), (k, −k), may be orthogonalto one another by performing any suitable mathematical and/ororientation operation on the vectors and/or by selecting suitable pointson colorspace 226′ and distribution 228′ when making the conversion. Invarious embodiments, a second maximum difference between one or morepoints can be taken in space 250, in addition to an orientationoperation to center the distribution 245 along the axis of the newlydefined color-channel vectors, e.g. (i, −i), (j, −j), (k, −k), such thatthe color-channel vectors are orthogonal and have a maximum distance inrelation to one another. In various embodiments, performing at least oneof the orthogonality operation, maximum determination, and/or orientingoperation can further enhance edge detection of an image generated forscanning, such as a matrix barcode, in relation to an entity, object, orenvironment 215 to be scanned.

In various embodiments, the various color-channels described above,including each vector, e.g. (−i, i), defines a first color that is aminimum in the color channel and the second color becomes the maximum.This boundary may be at least one pixel where the color changed from thefirst to the second color or vice versa. If the first color is set tozero (0) and the second color is set to two hundred and fifty-five(255), then, mathematically, this boundary may be located at pixel(s)that jumped between the minimum and maximum value; for example, theremay be sharp division (i.e., thin boundary) in which at least twoneighboring pixels transition immediately between 0 and 255. In variousembodiments, the boundary is such it may be a transition between thesecolors where, as discussed above, one or more color-channel ranges areselected such that a maximum color value of one or more color channelcorresponds to a unique color value, most prevalent color value, and/orhighest color value of a target object, entity, and/or environmentassociated with a scan and the minimum color value of the color-channelcorresponds to a most unique color, most prevalent color value and/orhighest color value of the scannable image, e.g. matrix, matrix barcode,and/or fiducial marker, where additionally, the most prevalent valueand/or highest color value of the scannable image is also a leastprevalent (lowest color value) and/or absent from the target object,entity, and/or environment associated with the scan, or visa-versa (e.g.with respect to the maximum or minimum values). In various embodiments,the boundary is such it may be a transition between these colors where,as discussed herein, one or more color-channel ranges are selected suchthat a maximum color value of one or more color channel corresponds to aunique color value, most prevalent color value, and/or highest colorvalue of an environment associated with an object to enter therein andthe minimum color value of the color-channel corresponds to a mostunique color, most prevalent color value and/or highest color value ofthe object to enter the environment (and to be detected and/or scannedtherein), the most prevalent value and/or highest color value of theobject is also a least prevalent (lowest color value) and/or absent fromthe target environment associated with the scan or detection, orvisa-versa (e.g. with respect to the maximum or minimum values).

The length of the color-channel can be adjusted accordingly based on thecapabilities of the scanning and image-acquiring abilities of thevarious components, e.g. camera or video device 195, scanning device197, and/or recognition component 422-4 (discussed below with respect toFIG. 4), where the length increases the number of different colorsbetween the minimum and maximum point of the color channel.

In various embodiments, the conversions between the RGB colorspace tothe XYZ colorspace and/or a first converted-to (derivative) XYZ space toanother XYZ colorspace can be governed by the tristimulus equations(Equation 1) that define the converted colorspace and a distribution ofcolorspace, where the value of x+y=z can be normalized to 1.x=X/(X+Y+Z),y=Y/(X+Y+Z),z=Z/(X+Y+Z).   Equation 1

In various embodiments, the value of “X,” “Y,” and “Z,” is dependent onthe input colors from the RGB colorspace (or in the case of a secondconversion, from the converting colorspace). Although the tristimulusvalues are three be definition, as noted above, the conversion caninvolve more than three color-channels, including color-channels thatdefine colors imperceptible to the human eye. In various embodiments,the conversion governed by Equation. 1 can form a key for a scanningdevice to scan an image defined by the conversion, such as a matrix,e.g., matrix barcode or fiducial marker. In various embodiments, thismeans that in addition to providing a vehicle for increasing the numbersof color-channels and colors for an image to be scanned, which meansincreasing bits of information that can be encoded therein, anotherbenefit of various embodiments is offering a manner to securely encodeinformation, e.g. without knowing the equation or equations of whatcolorspace govern and without knowing the input values (which are basedon the first colorspace associated with the entity, object, orenvironment 215), a successful scan cannot occur. Accordingly, invarious embodiments, the logic 160 of system 100 can cause a processor140 (or an application programmed to carried out the operations of 100)to provide a scanning device 197 with a key governed by Equation 1 inorder to scan an image that is encoded pursuant to one or morecolorspace conversions associated with Equation 1.

In various embodiments, the logic 160 of system 100 can cause aprocessor 140 to provide a scheme for adding either one or both of anultraviolet layer and/or an infrared layer to an image, such as amatrix, e.g. matrix barcode or fiducial marker, where the image containsmore than one non-black or non-white colors governed by any suitablecolorspace. In various embodiments, the scheme may include both anultraviolet layer and an infrared layer, where the ultraviolet layer mayform the first layer of an image in order to take advantage of itsproperties. In various embodiments, the non-black and non-white colorsof the scannable image may be determined by one or more colorspaceconversion techniques as outlined herein. In various embodiments,Non-black and non-white colors means colors that are not black or white.In various embodiments, non-black and non-white colors means colors thatare not black, white or based on a greyscale distribution.

FIG. 3 illustrates a block diagram of a distributed system 300. Thedistributed system 300 may distribute portions of the structure and/oroperations for the system 100 across multiple computing entities.Examples of distributed system 300 may include without limitation aclient-server architecture, a 3-tier architecture, an N-tierarchitecture, a tightly-coupled or clustered architecture, apeer-to-peer architecture, a master-slave architecture, a shareddatabase architecture, and other types of distributed systems. Theembodiments are not limited in this context.

The distributed system 300 may comprise a client device 310 and a serverdevice 320. In general, the client device 310 and/or the server device320 may be the same or similar to the apparatus 120 as described withreference to FIG. 1. For instance, the client device 310 and the serverdevice 320 may each comprise a processing component 330 which is thesame or similar to the processing circuit 140 as described withreference to FIG. 1. In another example, the devices 310, 320 maycommunicate over a communications media 312 using communications signals314 via a communications component 340.

The server device 320 may communicate with other devices over thecommunications media 312, using communications signals 314, via thecommunications component 340. The other devices may be internal orexternal to the device 320 as desired for a given implementation.

The client device 310 may comprise or employ one or more client programsthat operate to perform various methodologies in accordance with thedescribed embodiments. In one embodiment, for example, the client device310 may implement the system 100 including the logic 160 of FIG. 1,where in various embodiments, the client device 310 can implement one ormore operations to form an image based on one or more colorspaceconversions as outlined above and herein.

The server device 320 may comprise or employ one or more server programsthat operate to perform various methodologies in accordance with thedescribed embodiments. In one embodiment, for example, the server device320 may implement the clustering process 200A of FIG. 2A and generateimage group model data 350 and/or generate image group model data 350 byperforming one or more of the colorspace conversion operations of scheme200B. The image group model data 350 can include a printing scheme orcolor distribution for an image to be scanned in an entity, object, orenvironment 215, such as a matrix, e.g., matrix barcode or fiducialmarker.

The devices 310,320 may comprise any electronic device capable ofreceiving, processing, and sending information for the system 100.Examples of an electronic device may include without limitation anultra-mobile device, a mobile device, a personal digital assistant(PDA), a mobile computing device, a smart phone, a telephone, a digitaltelephone, a cellular telephone, ebook readers, a handset, a one-waypager, a two-way pager, a messaging device, a computer, a personalcomputer (PC), a desktop computer, a laptop computer, a notebookcomputer, a netbook computer, a handheld computer, a tablet computer, aserver, a server array or server farm, a web server, a network server,an Internet server, a work station, a mini-computer, a main framecomputer, a supercomputer, a network appliance, a web appliance, adistributed computing system, multiprocessor systems, processor-basedsystems, consumer electronics, programmable consumer electronics, gamedevices, television, digital television, set top box, wireless accesspoint, base station, subscriber station, mobile subscriber center, radionetwork controller, router, hub, gateway, bridge, switch, machine, orcombination thereof. The embodiments are not limited in this context.

The devices 310, 320 may execute instructions, processing operations, orlogic for the system 100 using the processing component 330. Theprocessing component 330 may comprise various hardware elements,software elements, or a combination of both. Examples of hardwareelements may include devices, logic devices, components, processors,microprocessors, circuits, processing circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), Application-specific Standard Products (ASSPs),System-on-a-chip systems (SOCs), Complex Programmable Logic Devices(CPLDs), memory units, logic gates, registers, semiconductor device,chips, microchips, chip sets, and so forth. Examples of softwareelements may include software components, programs, applications,computer programs, application programs, system programs, softwaredevelopment programs, machine programs, operating system software,middleware, firmware, software modules, routines, subroutines,functions, methods, procedures, software interfaces, application programinterfaces (API), instruction sets, computing code, computer code, codesegments, computer code segments, words, values, symbols, or anycombination thereof. Determining whether an embodiment is implementedusing hardware elements and/or software elements may vary in accordancewith any number of factors, such as desired computational rate, powerlevels, heat tolerances, processing cycle budget, input data rates,output data rates, memory resources, data bus speeds and other design orperformance constraints, as desired for a given implementation.

The devices 310, 320 may execute communications operations or logic forthe system 100 using communications component 340. The communicationscomponent 340 may implement any well-known communications techniques andprotocols, such as techniques suitable for use with packet-switchednetworks (e.g., public networks such as the Internet, private networkssuch as an enterprise intranet, and so forth), circuit-switched networks(e.g., the public switched telephone network), or a combination ofpacket-switched networks and circuit-switched networks (with suitablegateways and translators). The communications component 340 may includevarious types of standard communication elements, such as one or morecommunications interfaces, network interfaces, network interface cards(NIC), radios, wireless transmitters/receivers (transceivers), wiredand/or wireless communication media, physical connectors, and so forth.By way of example, and not limitation, communication media 312 includewired communications media and wireless communications media. Examplesof wired communications media may include a wire, cable, metal leads,printed circuit boards (PCB), backplanes, switch fabrics, semiconductormaterial, twisted-pair wire, co-axial cable, fiber optics, a propagatedsignal, and so forth. Examples of wireless communications media mayinclude acoustic, radio-frequency (RF) spectrum, infrared and otherwireless media.

FIG. 4 illustrates an embodiment of an operational environment 400 forthe system 100. As shown in FIG. 4, the operating environment 400includes an application 420, such as an enterprise software application,for processing input 410 and generating output 430.

The application 420 comprises one or more components 422-a where arepresents any integer number. In one embodiment, the application 420may comprise an interface component 422-1, a clustering component 422-2,a transform mechanism library 422-3, and a recognition component 422-4.The interface component 422-1 may be generally arranged to manage a userinterface for the application 420, for example, by generating graphicaldata for presentation as a Graphical User Interface (GUI). The interfacecomponent 422-1 may generate the GUI to depict various elements, such asdialog boxes, HTML forms having rich text, and/or the like.

The clustering component 422-2 may be generally arranged to organizeimages into image groups or clusters. Some embodiments of the clusteringcomponent 422-2 execute the clustering process 200A of FIG. 2A and/orone or more of the colorspace conversion operations of scheme 200B ofFIG. 2B and generates the image group model data 350 of FIG. 3. Invarious embodiments, the clustering component 422-2 identifies, for eachimage group, a particular colorspace transform having a higherlikelihood than a current colorspace transform of success in edgedetection for that group as outlined herein or otherwise suitable. Invarious embodiments, the clustering component 422-2 may perform theabove-mentioned clustering process for a variety of edge detectiontechniques, resulting in sets of image groups where each set of imagegroups corresponds to a particular technique. Edge detection techniquesvary in how boundaries are identified in an image; some techniquesdetect differences in color whereas other techniques measure anotherattribute. Some techniques differ with respect to how color differencesare even measured. It is possible for one technique to alter certainsteps and create multiple techniques.

The colorspace transform library 422-3 includes a plurality ofcolorspace transform mechanisms and may be generally arranged to providea colorspace transform mechanism for application on an image,transforming that image into a transformed image in accordance with adifferent colorspace model than the image's original colorspace model.As described herein, the colorspace model refers to a technique formodeling an image's color data, such as in RGB or in LAB, or RGB to XYZ,or RGB to XYZ to another XYZ. In general, and as outlined in one or moreembodiments herein, the colorspace transform mechanism performsmathematical operations to map a data point within the image'soriginal/current colorspace model into a corresponding datapoint inaccordance with the different colorspace model. This may involveconverting the datapoint's value(s)—which are in one domain—intocorresponding value(s) for the corresponding datapoint. As example, thecolorspace transform may convert an RGB pixel having a tuple of RGBvalues into a LAB pixel having a tuple of LAB values, an RGB pixelhaving a tuple of RGB values into an XYZ pixel having a tuple of XYZvalues, and/or an RGB pixel having a tuple of RGB values into an XYZpixel having a tuple of XYZ values and again into another XYZ pixelhaving a tuple of other XYZ values. The pixels associated with the finalconversion can define a color distribution for a scannable image, suchas a matrix or matrix barcode that is used for a scan in associationwith an entity, object, or environment.

The recognition component 422-4, such as a suitable scanner, printerand/or camera or application for the same, may be generally arranged toexecute an edge detection technique as part of a recognition operationon the transformed image. One example of a well-known recognitionoperation is Optical Character Recognition (OCR). The application 420invokes the recognition component 422-4 to perform various tasksincluding scanning a matrix, e.g., matrix barcode or fiducial marker,for verifying an authenticity of an item and/or to obtain encodedinformation associated with the barcode. The recognition component 422-4can be configured to contain a key, e.g. a mathematical equation orequations with specified inputs defining a colorspace conversion, suchthat it scans relevant colors reflected by the barcode, where the colorsare based on one or more colorspace transformation techniques asoutlined herein, where the key defines a final transformation thatdefines color-channels and a colorspace associated with colors of thescannable image, and where color-channels defined by the key eachrepresent at least one bit of encoded data.

In various embodiments, the recognition component 422-4 can print orprovide a schema for printing an image, e.g., barcode and/or fiducialmarker, that contains one or more non-black and non-white colors and oneor both of an ultraviolet layer and an infrared layer. Thecolor-channels associated with each non-black and non-white color eachcan constitute at least one bit of data, and each one of the infraredand ultraviolet layers can each constitute one bit of data. In variousembodiments, each one of the non-black and non-white colors aregenerated by a colorspace transformation mechanism or technique and arescannable by a key associated with the transformation mechanism. Invarious embodiments, the number of color-channels can be adjusted to begreater than or equal to four color-channels, as the recognitioncomponent 422-4 can be adjusted to scan any number of colors, includingcolors not perceptible to the human eye.

In various embodiments, the non-black and non-white color-channel can beused in conjunction with one or both of the infrared or ultravioletlayers on a scannable image, such as a matrix, matrix barcode and/orfiducial marker, where each of one of the color-channels, ultravioletlayer(s), and/or infrared layer(s) represent a bit of data and adifferent manner of encoding data into the image, and as such, six ormore bits of data can be encoded into the image. In various embodiments,the ultraviolet layer may be printed or displayed first in relation tothe infrared layers and the various layers associated with non-black andnon-white color-channels to take advantage of the ultraviolet layer'sproperties.

In various embodiments, the image containing all or one of the layersassociated with the non-black and non-white color-channel layers, theultraviolet layers, and the infrared layers can be scanned by therecognition component 422-4 for a verification component, where therecognition component 422-4 may contain or receive a key that is basedon an equation related to a colorspace conversion, e.g. Equation 1,where the colorspace conversion reveals the relevant color-channels withassociated colors containing the information, in addition to one or moreverification bits indicating whether the presence or absence of anultraviolet and/or infrared layer is indicative of encoded information.Accordingly, the key and/or verification bit provides a manner ofdecoding information.

In various embodiments, application 420 is configured to contain the keyand/or verification bit and provide an output 430 once the scan of theimage, e.g., barcode, is verified locally. In various embodiments, therecognition component 422-4 can require an additional verification stepof contacting a host system that contains one or more of thefunctionalities of system 100, to confirm, e.g., by one or morecomparison steps, that the key and/or verification bit used by therecognition component 422-4 is accurate. If the key is accurate, and thescan is confirmed by the recognition component 422-4, then the output430 of application 420 is one or more access, transfer, or receipt ofinformation, including currency, personal, and/or financial information,to another entity.

In various embodiments, scanning the image, e.g., matrix, a matrixbarcode, and/or fiducial marker can be done to protect a user fromfinancial misappropriation. The recognition component 422-4 may performthe text or image recognition operation to determine whether the image,e.g., barcode, is valid, and relates the validity of the scan to averification or access of information that includes any sensitiveinformation, such as a password or social security number (SSN),according to some embodiments. The application 420 may invoke therecognition component 422-4 to scan an image, e.g. a barcode, prior topublishing social network content such that a potential failure toproperly scan the image, e.g. the component scanning the image does nothave a key that properly decodes it pursuant to the key related to thecolorspace information and/or the bit indicating that an ultravioletand/or infrared layer contains information, identification of sensitiveinformation in that content prevents said publishing. In various otherembodiments, the scanning of the image, e.g., barcode, can provideinitiation of a financial transaction, e.g., transfer of any suitableelectronic funds.

Included herein is a set of flow charts representative of exemplarymethodologies for performing novel aspects of the disclosedarchitecture. While, for purposes of simplicity of explanation, the oneor more methodologies shown herein, for example, in the form of a flowchart or flow diagram, are shown and described as a series of acts, itis to be understood and appreciated that the methodologies are notlimited by the order of acts, as some acts may, in accordance therewith,occur in a different order and/or concurrently with other acts from thatshown and described herein. For example, those skilled in the art mayunderstand and appreciate that a methodology could alternatively berepresented as a series of interrelated states or events, such as in astate diagram. Moreover, not all acts illustrated in a methodology maybe required for a novel implementation.

FIG. 5A illustrates one embodiment of a logic flow 500A. The logic flow500A may be representative of some or all of the operations executed byone or more embodiments described herein.

In the illustrated embodiment shown in FIG. 5A, the logic flow 500Areceives a representative dataset of a target, such as an entity,object, or environment at block 502. For example, the logic flow 500 mayreceive a representative dataset containing at least one of i) one ormore images of a target and ii) one or more videos of the target, thetarget including at least one of i) an environment, ii) a live entityand iii) an object using any suitable camera or scanning device, wherethe representative dataset is contained in image group model data 350 orobtained directly by scanning the target using any suitable device,e.g., camera or video device 195 and/or scanning device 197. In variousembodiments, the target may be an environment that contains a scannableimage therein.

The logic flow 500A may process the representative dataset into asuitable representation of a color scheme, such as a histogram, at block504. For example, the logic flow 500 may examine image group model data350, which contains captured data of a scanned environment. Once thelogic flow 500 identifies the scanned data of the environment, the logicflow can process that data into a histogram of a particular colorspace,e.g., an RGB colorspace.

The logic flow 500A may identify the most prevalent colors of theenvironment utilizing the histogram at block 506. In variousembodiments, the logic flow identifies the most prevalent colors inorder to apply a colorspace transform mechanism for substantiallymaximizing edge detection for a scannable image, such as a matrix,matrix barcode, fiducial marker, etc.

The logic flow 500A may determine a related number of colors based onthe histogram at block 508, e.g., the histogram is used to map to afirst colorspace, where least prevalent and/or absent colors in relationto the most prevalent colors of the target are determined, and the leastprevalent and/or absent colors form the basis for one or morecolor-channels in a second colorspace.

In various embodiments, the related plurality of colors can represent arange of colors between the most prevalent colors and the leastprevalent colors and/or absent colors of the target, including solecolors that are absent in relation to the target and/or colors that arethe least prevalent in association with the target. In variousembodiments, in order to determine the related number of colors based,the logic flow may select and apply a colorspace transform mechanism tothe image data associated with the histogram. As described herein, theimage data includes color data configured in accordance with acolorspace model, e.g., the histogram can be used to create a colorspacerepresentation of the target data. In some embodiments, the logic flow500 applies the colorspace transform mechanism 180 of FIG. 1 byconverting the image data into transformed image data comprising colordata in accordance with another colorspace model that differs from thecolorspace associated with the histogram. For example, the logic flowmay create a histogram of the image data associated with the target,then use the histogram to create a first colorspace representation ofthe target, e.g., an RGB colorspace representation. Thereafter, asdiscussed below, the logic flow can perform one or more additionalcolorspace transformation techniques into other colorspaces, such as XYZcolorspaces or any other suitable colorspace that utilizes a tristimulussystem.

In various embodiments, the logic flow 500A may perform a colorspacetransform manipulating the color data of the original image data toenable efficient edge detection on the transformed image data. Asexplained below, the logic flow 500A may change the colorspace model toquickly identify boundaries, such as when two colors are close inproximity. The logic flow 500A examines each datapoint in the image, andfor each location, the logic flow 500A identifies a color. In variousembodiments, the colorspace conversion can be based on at least one setof color coordinates for each one of the most prevalent colors accordingto the another (or second) colorspace and determining at least one setof color coordinates corresponding to the related plurality of colors inthe (second) another colorspace, where the at least one set ofcoordinates of the most prevalent plurality of colors being either oneor both of perpendicular/orthogonal and a maximal distance away, withrespect to another colorspace, to the at least one set of coordinates ofthe related colors. In various embodiments, the second colorspace can beconsidered a derivative colorspace of the first color space.

In various embodiments, this ensures that the colors used for ascannable image may maximize edge detection, as the maximal distanceaway between prevalent color-channels and colors of the target in theenvironment and other color-channels and colors (the relatedcolor-channels and colors) ensures that the related color-channels andcolors are either absent in the target and/or least prevalent in thetarget. Additionally, if the related colors and color-channels areselected to be perpendicular or orthogonal in relation to the targetcolor-channels and colors (and with respect to one another), this mayfurther enhance edge detection.

In one example utilizing the one or more techniques outlined above, thelogic flow 500A proceeds to identify two or more colors by prevalence inthe target and configures them into one channel. Take, for instance, afirst color and second color of first and second highest prevalence,respectively, where the first color becomes a minimum in the colorchannel and the second color becomes the maximum such that the boundarymay be a transition between these colors. This boundary may be at leastone pixel where the color changed from the first to the second color orvice versa. If the first color is set to zero (0) and the second coloris set to two hundred and fifty-five (255), then, mathematically, thisboundary may be located at pixel(s) that jumped between the minimum andmaximum value; for example, there may be sharp division (i.e., thinboundary) in which at least two neighboring pixels transitionimmediately between 0 and 255.

As alluded to above, these color-channels can correspond to a firstcolorspace, e.g., RGB, where the first colorspace can be based on thefirst set of tristimulus values, and where the first-colorspace may havea color coordinates for representing colors of the target, e.g., themost prevalent colors of the target. The logic flow 500A may thenidentify one or more colors that are either unused or barely used (i.e.,least prevalent or absent) and establish those colors in another channelto be opposite of the above-identified prevalent colors, where the newcolor-channel (or color-channels) forms the basis for a new colorspace,e.g., a new set of tristimulus values of an XYZ colorspace, and wherethe first colorspace is converted to the second colorspace.

Then, the logic flow 500A may perform one or more additional operations,e.g. configuring each color-channel of the new colorspace to beperpendicular or orthogonal to one another in the new colorspace model,make an additional conversion to a third colorspace, including anintermediary operation that filters out non-chromacity related featuressuch as luminance or brightness channel, and/or perform an orientationoperation in the second (or third) colorspace prior to making thecolor-channels perpendicular or orthogonal to each other (in order tomaximize the distance between color-channels and thus enhancing edgedetection).

The logic flow 500A may utilize the related colors of block 508 tocreate one or more scannable images 510, such as a matrix, matrixbarcode, fiducial marker, or any other suitable image for scanning. Invarious embodiments, the related colors may be colors of eachcolor-channel associated with the final colorspace conversion asdiscussed above, e.g. a plurality of color-channels and associatedcolors, as may be represented in an XYZ colorspace, that are either notprevalent in the target and/or are completely absent in the target,where, in various embodiments, the least prevalent and/or absent colorscan be arranged orthogonally to each other to further enhance edgedetection. In various embodiments, the scannable image may be a matrixbarcode that is formed to reflect colors of each of the least prevalentand/or absent and/or orthogonal color-channels in relation to a target,e.g., environment containing the matrix barcode.

In various embodiments, the matrix barcode is embedded with informationthat is based on the colorspace conversions, e.g., each pixel or pixelsassociated with the matrix bar code is associated with a color-channelof the final colorspace, e.g. the XYZ colorspace with color-channelsrepresenting the least prevalent or absent colors of the environment,where each color-channel represents a bit of data, and where the numberof color-channels can be three or more, four or more, etc. (as there areno limitations imposed by human perceptibility), and by extension thenumber of encoded bits can be three or more, four or more, etc.

In various embodiments, where four or more colors are used, each one ofthe four or more colors are distinct colors in relation to one another,and based on the colorspace techniques discussed herein and above, thefour or more colors are derived from a plurality of coordinatescorresponding to each one of the at least four distinct colors along aconverted-to (derivative) colorspace, where the converted-to(derivative) colorspace contains a plurality of coordinates setsrepresenting the at least four prevalent colors of the target, e.g.,environment, and each of the four or more colors corresponds to adistinct coordinate set of the converted-to (derivative) colorspace.

In various embodiments, each of the four or more distinct colors areselected based on having a maximal opposite coordinate relationship withrespect to at least one of the plurality of coordinate sets representingat least four prevalent colors in the target, e.g., environment.

There are a number of applicable edge detection techniques, and the edgedetection technique 190 may be appropriate for the one colorspace modelof the transformed image data while another edge detection technique maybe appropriate for the original colorspace model. The embodiments arenot limited to this example.

FIG. 5B illustrates one embodiment of a logic flow 500B. The logic flow500B may be representative of some or all of the operations executed byone or more embodiments described herein.

In the illustrated embodiment shown in FIG. 5B, the logic flow maydetect a matrix that includes one or more non-black and non-whitecolors, where each of the non-black and non-white colors is i) at leastone of an absent color in relation to an environment and/or ii) at leastone least prevalent color associated with the environment at block 515.In various embodiments, the matrix is a barcode constructed with one ormore colorspace conversion techniques as outlined herein, e.g., thematrix barcode is derived from an RGB colorspace and a derivativecolorspace of the RGB colorspace (a converted-to (derivative) colorspacefrom the RGB colorspace, such as an XYZ colorspace). In variousembodiments, the derivative colorspace is an XYZ colorspace with afiltered luminance channel.

In various embodiments, the barcode can be scanned with any suitablecomponent, e.g., a scanning device 197, that has a suitable key, e.g.,tristimulus equations associated with a conversion to an XYZ colorspace,that reveals the color-channels with associated colors that areassociated with the scannable portions of the matrix barcode, including,in various embodiments, information encoded in the matrix barcode. Invarious embodiments, the barcode can include four or more distinctcolors each associated with at least four-distinct color-channels, whereeach of the colors is different from one another and different from themost prevalent colors of the environment. In various embodiments, thecolors and color-channels of the barcode can be computed according tocoordinate relationships between the most prevalent colors and the leastprevalent and/or absent colors in the derivative colorspace, including amaximal distance between the most prevalent colors and the leastprevalent and/or absent colors. Additional or different colorspaceconversion techniques can be used as discussed herein, and this ismerely one example consistent with the present disclosure.

In various embodiments, the barcode can be printed and/or embedded on aphysical medium, e.g., a physical surface or material, using anysuitable component, e.g., printing device 199, with the least prevalentand/or absent colors, and the barcode can be scanned along the surfaceof the physical surface. In other embodiments, any suitable computerdevice, including a computer, laptop, or tablet (as shown in FIG. 7provided for below) can be configured to generate a scannable barcodethat reflects the least prevalent or absent colors, where the barcodecan be scanned along a surface of the computer display.

The logic flow 500B may transmit the result of the scan to any suitablecomputer device at block 520 as discussed herein, including anindication as to whether or not the scan was of the barcode wassuccessful, and any encoded information associated therewith wasobtained.

FIG. 5C illustrates one embodiment of a logic flow 500C. The logic flowmay be representative of some or all of the operations executed by oneor more embodiments described herein.

In the illustrated embodiment shown in FIG. 5C, the logic flow 500Ccarries out one or more of the operations of flow 500C, wherein oneembodiment it carries out the operations of 502, 504, 506, and 508.

The logic flow 500C may utilize the related colors to produce ascannable image 530, such as a matrix, matrix barcode, fiducial marker,or any other suitable image for scanning, where the scannable image can,in addition to including non-black and non-white colors (such as theleast prevalent and/or absent colors associated with a target, e.g. anenvironment), can include one or both of an ultraviolet layer and aninfrared layer. In various embodiments, the matrix, matrix barcode,fiducial marker, or any other suitable image can be printed and/orembedded on a physical surface using any suitable component, e.g.printing device 199, with the least prevalent and/or absent colors andan infrared and/or ultraviolet layer, and the barcode can be scannedalong the surface of the physical surface. In other embodiments, anysuitable computer device, including a computer, labtop, or tablet (asshown in FIG. 7 provided for below) can be configured to generate ascannable barcode that reflects the least prevalent or absent colors,the ultraviolet layer and/or the infrared layer, where the matrix,matrix barcode, fiducial marker, or any other suitable image can bescanned along a surface of the computer display.

In various embodiments, the ultraviolet layer may be printed first alongthe physical surface and/or may form the top layer generated on acomputer screen in order to maximize the benefits associated withultraviolet light. In various embodiments, the colors of the scannableimage need not be colors that have a relationship with the environmentand/or not based on colorspace conversion techniques and can be anycolors, including standard black and white colors, with a scannableimage containing both an infrared and ultraviolet layer for detection.

FIG. 5D illustrates one embodiment of a logic flow 500D. The logic flow500D may be representative of some or all of the operations executed byone or more embodiments described herein.

In the illustrated embodiment shown in FIG. 5D, the logic flow maydetect a scannable image, e.g., a matrix, that includes one or morenon-black and non-white colors, where each of the non-black andnon-white colors are at least one of an i) an absent color in relationto an environment and/or ii) a least prevalent color associated with theenvironment, in addition to one or both of an ultraviolet layer and/oran infrared layer 540. In various embodiments, the matrix is a barcodeconstructed with one or more colorspace conversion techniques asoutlined herein, e.g., as discussed with respect to FIG. 5B, with theaddition of an ultraviolet layer and/or infrared layer.

In various embodiments, the scannable image, e.g. barcode, can bescanned with any suitable component, e.g. a scanning device 197, thathas a suitable key, e.g. tristimulus equations associated with aconversion to an XYZ colorspace, that reveals the color-channels withassociated colors that are associated with the scannable portions of thematrix barcode, including, in various embodiments, information encodedin the matrix barcode. In addition to the key, any suitable component,e.g., scanning device 197, can also have a verification bit indicatingwhether the ultraviolet layer and/or infrared layer is associated withinformation, and if so, performs the scan and/or decodes the informationbased on the verification bit. In various embodiments, the barcode caninclude four or more distinct colors each associated with at least fourdistinct color-channels, where each of the colors are different from oneanother and different to the most prevalent colors of the environment,in addition to also having one or both the ultraviolet layer and/or theinfrared layer, and as such, the scan can be a scan of six or more bitsof information.

In various embodiments, the barcode can be printed and/or embedded on aphysical surface using any suitable component, e.g., printing device199, with the least prevalent and/or absent colors, and the barcode canbe scanned along the surface of the physical surface. In otherembodiments, any suitable computing device, including a computer,labtop, or tablet (as shown in FIG. 7 provided for below) can beconfigured to generate a scannable barcode that reflects the leastprevalent or absent colors, where the barcode can be scanned along asurface of the computer display. In various embodiments, the printing ofthe scannable image, e.g., barcode, can be such that the topmost layermay be an ultraviolet layer and any associated scan may account for theultraviolet layer first. Similarly, in various embodiments, if thescannable image is generated by a computer device and displayed by acomputer display, the first layer displayed by the computer device canbe the ultraviolet layer.

The logic flow 500D may transmit the result of the scan to any suitablecomputer device at block 550 as discussed herein, including anindication as to whether or not the scan was of the barcode wassuccessful, and any encoded information associated in addition to thatwas obtained. In various embodiments, the scannable image, e.g. barcode,can be scanned with any suitable component, e.g. a scanning device 197,that has a suitable key, e.g. tristimulus equations associated with aconversion to an XYZ colorspace, that reveals the color-channels withassociated colors that are associated with the scannable portions of thematrix barcode, including, in various embodiments, information encodedin the matrix barcode. In addition to the key, any suitable component,e.g., scanning device 197, can also have a verification bit indicatingwhether the ultraviolet layer and/or infrared layer is associated withinformation, and if so, performs the scan and/or decodes the informationbased on the verification bit. In various embodiments, the barcode caninclude four or more distinct colors each associated with at least fourdistinct color-channels, where each of the colors are different from oneanother and different to the most prevalent colors of the environment,in addition to also having one or both the ultraviolet layer and/or theinfrared layer, and as such, the scan can be a scan of six or more bitsof information.

In various embodiments, the barcode can be printed and/or embedded on aphysical surface using any suitable component, e.g., printing device199, with the least prevalent and/or absent colors, and the barcode canbe scanned along the surface of the physical surface. In otherembodiments, any suitable computing device, including a computer,labtop, or tablet (as shown in FIG. 7 provided for below) can beconfigured to generate a scannable barcode that reflects the leastprevalent or absent colors, where the barcode can be scanned along asurface of the computer display. In various embodiments, the printing ofthe scannable image, e.g., barcode, can be such that the topmost layermay be an ultraviolet layer and any associated scan may account for theultraviolet layer first. Similarly, in various embodiments, if thescannable image is generated by a computer device and displayed by acomputer display, the first layer displayed by the computer device canbe the ultraviolet layer.

The logic flow 500D may transmit the result of the scan to any suitablecomputer device at block 550 as discussed herein, including anindication as to whether or not the scan was of the barcode wassuccessful, and any encoded information associated in addition to thatwas obtained.

FIG. 5E illustrates one embodiment of a logic flow 500E. The logic flow500E may be representative of some or all of the operations executed byone or more embodiments described herein.

In the illustrated embodiment shown in FIG. 5E, the logic flow maydetermine a colorspace associated with an environment 560. Thedetermination can be with respect to one or both of an existingenvironment and/or predicted or anticipated changes to that environmentand utilizing any suitable technique by any suitable component asdisclosed herein. In various embodiments, one or more camera devices orother suitable devices may be configured according to one or both of thecolorspace associated with the environment or the predicted environmentbased on changes associated therewith. In various embodiments, theenvironment is a virtual or augmented reality environment.

In various embodiments, the logic flow 500E can determine, utilizing anysuitable component and/or technique as disclosed herein, aninverse-colorspace of one or both of the colorspace of the environmentand/or the environment as predicted to change 570. For example, acolorspace conversion can be performed on either one or both of thecolorspaces associated with the environment and/or the environment aspredicted to change, and minimums of the colorspace of the environmentand/or predicted environment can correspond to the maximums of theconverted-to colorspace.

In various embodiments, at block 580, the logic flow 500E may detect anobject utilizing the inverse-colorspace and by using any suitablecomponent and/or technique as disclosed herein. In various embodiments,the detecting can be an object introduced into an environment, where theobject includes a plurality of non-black and non-white colors, and wherethe object has a color, more than one color, or all colors of adistribution that matches at least one color, more than one color, orall of the colors of the inverse-colorspace. In various embodiments, theobject has a color, more than one color, or all colors of a distributionthat is in between the distribution of colors corresponding to themaximum/minimum relationship of the environment colorspace (and/orpredicted-to-change environment colorspace) and the inverse-colorspace.In various embodiments, the object can be a generated virtual object ofa virtual or augmented reality environment.

FIG. 5F illustrates one embodiment of a logic flow 500F. The logic flow500F may be representative of some or all of the operations executed byone or more embodiments described herein.

In the illustrated embodiment shown in FIG. 5F, the logic flow maydetermine a colorspace associated with an object 585. The determinationcan be with respect to an actual object or a virtual object.

In various embodiments, the logic flow 500F can determine, utilizing anysuitable component and/or technique as disclosed herein, aninverse-colorspace of one or both of the colorspace of the object atblock 592. For example, a colorspace conversion can be performed suchthat at least one maximum coordinate point of one or more colorscorresponding to one or more prevalent colors of the object are theminimum of the converted-to colorspace and/or the least prevalent and/orabsent colors of the object correspond to at least one maximum point ofthe converted-to colorspace and/or can include any colors therebetween.

In various embodiments, the logic flow 500F can, utilizing any suitablecomponent and/or technique as disclosed herein, to set theinverse-colorspace as the colorspace of an environment where the objectcan enter and/or is otherwise associated with detection equipment withrespect to the object, e.g. a camera and/or scanning device and adetection area associated with either. The environment can be a physicalenvironment, a computer setting of a camera or scanning device and/or avirtual and/or augmented reality.

In various embodiments, the logic flow 500F, can detect an objectutilizing the inverse-colorspace and by using any suitable componentand/or technique as disclosed herein 592. In various embodiments, thedetecting can be an object introduced into an environment, where theobject includes a plurality of non-black and non-white colors, and wherethe object has a color, more than one color, or all colors of adistribution that matches at least one color, more than one color, orall of the colors of the inverse-colorspace. In various embodiments, theobject has a color, more than one color, or all colors of a distributionthat is in between the distribution of colors corresponding to themaximum/minimum relationship of the environment colorspace (and/orpredicted-to-change environment colorspace) and the inverse-colorspace.In various embodiments, the object can be a generated virtual object ofa virtual or augmented reality environment.

FIG. 6A illustrates one technique 600A of forming a scannable image inaccordance with at least one embodiments of the present disclosure.Scannable image layers 605 a, 610 a, and 615 a each represent a layer ofa scannable image, such as a barcode, associated with one or morecolors. Any suitable component as disclosed herein may perform one ormore colorspace transformation techniques on each scannable image layers605 a, 610 a, 615 a in order to produce layers 620 a, 625 a, and 630 a,and layers 620 a, 625 a, and 630 a may be consolidated into a singlescannable image, e.g., barcode, 635 a. In various embodiments, thescannable layers 620 a, 625 a, and 630 a may each be associated with acolor-channel that represents one or more colors that are absent and/ornot prevalent in relation to a target that may be associated with thescannable image 635 a, wherein various embodiments one or morecolor-channels associated with colors of 620 a, 625 a, and 630 a may beorthogonal or perpendicular in relation to one another and with respectto colorspaces representing those colors. The scannable image 635 a canbe printed on a physical surface of a target using any suitable deviceand/or generated by any suitable computing device for display on acomputer display.

Although the embodiment of FIG. 6A illustrates performing atransformation technique with respect to color schemes that areassociated with existing scannable image layers 605 a, 610 a, and/or 615a, scannable image 635 a can be generated from scratch withoutconverting from existing images, e.g., a target can be scanned,colorspaces associated therewith determined therefrom, and a finalscannable image 635 a can be produced by performing one or morecolorspace transformations on the colorspaces as disclosed herein orotherwise suitable.

FIG. 6B illustrates one technique 600B of forming a scannable image inaccordance with at least one embodiments of the present disclosure.Scannable image layers 605 b, 610 b, and 615 b each represent a layer ofa scannable image, such as a barcode, associated with one or morecolors. Any suitable component as disclosed herein may perform one ormore colorspace transformation techniques on each scannable image layers605 b, 610 b, 615 b in order to produce layers 620 b, 625 b, and 630 b,and layers 620 b, 625 b, and 630 b may be consolidated into a singlescannable image 635 b, e.g., barcode, 635 b. In various embodiments, thescannable layers 620 b, 625 b, and 630 b may each be associated with acolor-channel that represents one or more colors that are absent and/ornot prevalent in relation to a target that may be associated with thescannable image 635 b, wherein various embodiments one or morecolor-channels associated with colors of 620 b, 625 b, and 630 b may beorthogonal or perpendicular in relation to one another and with respectto colorspaces representing those colors. In various embodiments, atleast one layer, e.g. 630 b, can be made with ultraviolet or infraredink or generated using ultraviolet or infrared light such that itcontains an additional channel of information, e.g., an ultravioletlayer or infrared layer of information, which can absorb, reflect,project, and/or illuminate ultraviolet or infrared light, whereinvarious embodiments the ultraviolet layer or infrared layer 630 b may bethe first layer of image 635 b. In various embodiments, the ultravioletor infrared layer 630 b may contain a color-channel layer representingvarious colors, including colors that are not prevalent and/or absentfrom a target to be associated with the scannable image 635 b, and invarious embodiments, only an ultraviolet channel may be associated withthe ultraviolet layer 630 b.

In various embodiments, the scannable image 635 b can be printed on aphysical surface of a target using any suitable device and/or generatedby any suitable computer device for display on a computer display.

In various embodiments, the scannable image 635 b is a fiducial markerthat takes advantage of the inherent orienting features of ultravioletand/or infrared light when being scanned by a suitable device that candetect either one or both of ultraviolet and/or infrared light. Invarious embodiments, when a suitable device, e.g., scanning device 197,scans a fiducial marker 635 b that reflects ultraviolet and/or infraredlight, the spatial relationship of the object associated with thefiducial maker 635 b, e.g. an object with the fiducial marker labeledthereon and/or a computer display generating the fiducial marker 635 b,in relation to the scanning device 197 and other objects in anenvironment containing the device is easier to ascertain because of theinherent properties associated with the reflection and detection ofultraviolet and/or infrared light.

FIG. 6C illustrates one technique 600C of forming a scannable image inaccordance with at least one embodiments of the present disclosure.Scannable image layers 605 c, 610 c, 615 c, and 620 c each represent alayer of a scannable image, such as a barcode, associated with one ormore colors. Any suitable component as disclosed herein may perform oneor more colorspace transformation techniques on each scannable imagelayers 605 c, 610 c, 615 c, and 620 c in order to produce layers 625 c,630 c, 635 c and 640 c, and layers 625 c, 630 c, 635 c and 640 c may beconsolidated into a single scannable image, e.g., barcode, 645 c. Invarious embodiments, the scannable layers 625 c, 630 c, 635 c and 640 cmay each be associated with a color-channel that represents one or morecolors that are absent and/or not prevalent in relation to a target thatmay be associated with the scannable image 645 c, where in variousembodiments one or more color-channels associated with colors of 625 c,630 c, 635 c and 640 c may be orthogonal or perpendicular in relation toone another and with respect to colorspaces representing those colors.

In various embodiments, at least one layer, e.g. 635 c, can be made withinfrared ink or generated using infrared light such that it contains anadditional channel of information, e.g., an ultraviolet layer ofinformation, which can absorb, reflect, project, and/or illuminateinfrared light, where in various embodiments the infrared layer 630 cmay be the first layer of image 635 c. In various embodiments, theinfrared layer 630 c may contain a color-channel layer representingvarious colors, including colors that are not prevalent and/or absentfrom a target to be associated with the scannable image 645 c, and invarious embodiments, only an infrared channel may be associated with theinfrared layer 630 d. In various embodiments, at least one layer, e.g.640 c, can be made with ultraviolet ink or generated using ultravioletlight such that it contains an additional channel of information, e.g.,an ultraviolet layer of information, which can absorb, reflect, project,and/or illuminate ultraviolet light, where in various embodiments theultraviolet layer 640 c may be the first layer of image 645 c. Invarious embodiments, the ultraviolet layer 640 c may contain acolor-channel layer representing various colors, including colors thatare not prevalent and/or absent from a target to be associated with thescannable image 645 c, and in various embodiments, only an ultravioletchannel may be associated with the ultraviolet layer 640 c.

In various embodiments, the scannable image 645 c is a fiducial markerthat takes advantage of the inherent orienting features of ultravioletand/or infrared light when being scanned by a suitable device that candetect either one or both of ultraviolet and/or infrared light. Invarious embodiments, when a suitable device, e.g., scanning device 197,scans a fiducial marker 645 c that reflects both ultraviolet andinfrared light, the spatial relationship of the object associated withthe fiducial maker 645 c, e.g. an object with the fiducial markerlabeled thereon and/or a computer display generating the fiducial marker645 c, in relation to the scanning device 197 and other objects in anenvironment containing the device is easier to ascertain or detectbecause of the inherent properties associated with the reflection anddetection of ultraviolet and/or infrared light. In various embodiments,where fiducial marker 645 c utilizes both ultraviolet and infraredlight, the presence of both operates as a fail-safe if the functionalityof the scanning device 197 is compromised, and/or if an initial scanfails to detect one or the other.

In various embodiments, the scannable image 645 c may include both aninfrared layer 635 c and an ultraviolet layer 640 c, where the printingor generating of layer 645 c may be such that the ultraviolet layer 640c may be the first layer in order to take advantage of thecharacteristics associated with ultraviolet light. Although at least oneembodiment provided above indicates that either one or both of layers635 c and 640 c can include color-channel information, e.g., scannablecolors that have a relationship with a target, in various embodiments,layers 635 c and 640 c can be associated strictly with infrared and/orultraviolet information respectively. Moreover, in various embodiments,the colors of layer 620 c, 625 c, and 630 c do not have to be layer thathas a relationship with the target, and in various embodiments, saidlayers can be composed of black and white colors and/or other colorsunrelated to the target and/or not based on colorspace conversiontechniques.

FIG. 7A illustrates a computer or tablet system 700A for generating andscanning a scannable image 740. The tablet system includes a tablet 702for generating a scannable image 740, e.g., barcode, where the tablet702 includes applications 705A-E, application N, and application 420,where one embodiment of application 420 is described in greater detailabove with respect to FIG. 4. The tablet 702 may include one or moreuser interface devices 720 which a user can use to interface with thetablet 702. The tablet 702 can generate a scannable image 740 thatincludes one or both of an ultraviolet and infrared layer. The tablet702 can be configured to ensure that the top layer is an ultravioletlayer to take advantage of the properties inherent with ultravioletlight. The image can further include one or more colors layer, includingwhite and black layers. The image can further include one or morenon-black and non-white colors layers that are related to colorsassociated with the environment where the tablet is located, e.g., thetablet can be configured to have a camera with an application, e.g.,420, that can scan an environment and produce a scannable image 740 withcolors related to that environment. In various embodiments, the colorsrelated to the environment can be colors based on one or more colorspacetransformation techniques as discussed herein, including colors that areleast prevalent and/or absent from the environment containing the tablet702 and determined by one or more colorspace conversions.

The system 700A can further include a camera or scanning device c750that can scan the scannable image 740, wherein various embodiments thecamera or scanning device c750 may include application 420 (as discussedabove), and/or a colorspace key and/or infrared verification bit and/orultraviolet verification bit as disclosed herein, and in order toperform a valid scan of scannable image 740 and/or obtain any encodedinformation associated therewith.

FIG. 7B illustrates a computer or tablet system 700B for optimizingdetection of an object 741 in an environment. In various embodiments,although system 700B is illustrated as a tablet system, it may beanother computer device, such as a personal user computer, lab top, orany other suitable computer device, and the tablet system 700B may beconfigured to carry out one or more operations of FIG. 1. The tabletsystem includes a tablet 702 includes one or more applications 705A-E,application N, and/or application 420. In various embodiments, one ormore of the applications 705A-E may carry out one or more operationsassociated with FIG. 1, including optimizing detection of an object 741in an environment 701. The tablet 702 may include one or more userinterface devices 720 which a user can use to interface with the tablet702. In various embodiments, the colors related to the environment canbe colors based and/or associated on one or more colorspaces and/orcolorspace transformation techniques as discussed herein, includingcolors that are least prevalent and/or absent from the environmentcontaining the tablet 702 and determined by one or more colorspaceconversions.

The system 700B can further include one or more scanning or cameradevices 775, one or more servers 774, a network 770 for facilitatingcommunication between and amongst the various components of system 700B,and a device associated with and/or configurable in relation to object741 (hereinafter referred to as “object device 772”). In variousembodiments, an environment 701 containing the tablet 702 and associatedwith tablet system 700B is shown. In various embodiments, the functionsof one or more scanning or camera devices 775 and/or camera and/orscanning device c750 may be carried out by a camera, scanning, or othersuitable device (not shown) that is part of tablet 702. In variousembodiments, the functions of one or more scanning or camera devices 775may be carried out by a camera device or scanning device c750. Invarious, the environment related to detecting the object 741 can be aproximate portion 780 of the overall environment 701 in relation to thetablet 702. Although shown as a tablet 702, the tablet 702 can be acomputer, a camera that can be programmed with one or more computeroperations, a laptop, or any other suitable computing device. In variousembodiments, the object device 772 is an augmented reality and/orrobotic system, and in various embodiments, the object 741 can be avirtual object associated with one or both a virtual environment oractual environment.

In various embodiments, the tablet 702 can cause a first camera 775 tobe set according to any suitable colorspace associated with anenvironment 701 or environmental portion 780 (where the environmentalportion 780 can be part of the detection area of one or more devicesassociated with the system 700B, including one or more cameras 775), anda second camera 775 can be set according to any suitable colorspaceassociated with actual or predicted environmental changes associatedwith the environment 701 or environmental portion 780. The environmentalchanges can be based on pre-programming the tablet 702 with data thatindicates changes associated with time in the day and/or the tabletcommunicating with any suitable device, e.g. camera or scanning devicec750, such that changes to the environment are detected and theassociated colorspace is updated accordingly. The environment 701 and/orenvironmental portion 780 can be an actual environment, an augmentedreality environment and/or a combination of the two. In variousembodiments, when the environment 701 is a virtual environment, thepredicted changes can be based on information and processinginstructions from the application and/or device associated with theaugmented reality.

In various embodiments, the tablet 702 performs any suitable colorspaceconversion with respect to either one or both of the environment 701(and/or environmental portion 780) and/or changes to the environment 701(and/or environmental portion 780) to determine the inverse of one orboth of the colorspace associated with the first camera 775 and/or thesecond camera 775. An object 741 can be introduced into the environment701 or environmental portion 780, which can be a virtual environment 701or environmental portion 780, corresponding to the inverse colorspace,which in various embodiments, can be determined by converting thecolorspace of the environment 701 and/or environmental portion 780(and/or an environment or portion thereof as anticipated to change) intoanother colorspace, and determining a minimum/maximum relationship inrelation thereto. In various embodiments, the detection is enhanced, andsince at least one or both cameras 775 are set to a static space,processing power is conserved. The object 741 can include one or morecolors associated with the inverse colorspace, and can include all ofthe colors associated with the inverse colorspace, and/or can includeone or more colors in between colors associated with the inversecolorspace and the colorspace associated with one or both cameras 775,e.g. in between the minimum/maximum relationship of the colorspace ofthe camera and the determined inverse colorspace.

In various embodiments, the tablet 702 can cause a first camera 775 tobe set according to a suitable colorspace associated with an environment701 or environmental portion 780, and a second camera 775 can be setaccording to an inverse colorspace in relation to the colorspace of theobject 741 for detection. The environment 701 and/or environmentalportion 780 can be an actual environment, an augmented realityenvironment and/or a combination of the two. In various embodiments,when the environment 701 is a virtual environment or otherwisecomputer-generated environment, the inverse-colorspace associated withthe second camera can be the colorspace of the virtual environment. Invarious embodiments where the environment 701 is a physical environment,and where any of the devices of the system 700B have projectionabilities in relation to the environment 701, the inverse-colorspace canbe projected onto the physical environment 701 to enhance the detectionattributes, with respect to the object 741, in relation thereto.

In various embodiments, the tablet 702 performs any suitable colorspaceconversion with respect to one, more than one or all of the object, theenvironment 701 (and/or environmental portion 780) and/or changes to theenvironment 701 (and/or environmental portion 780) to determine theinverse of one, more than one, or all of the colorspace associated withthe first camera 775 and/or the second camera 775 and/or the object 741and/or the environment 701 and in relation to at least one of oneanother. The object 741 can be introduced into the environment 701 orenvironmental portion 780, which can be a virtual environment 701 orenvironmental portion 780, corresponding to the inverse colorspace ofthe colorspace of the object, which in various embodiments, can bedetermined by converting the colorspace of the object 741 into anothercolorspace, and determining a minimum/maximum relationship in relationto the object 741 and the environment 701 (and/or a setting of theenvironment in relation the first camera 775 and/or the second camera775).

As stated above, in various device, the object device 772 can be anaugmented reality device, a virtual reality device, and/or a robotconfigured to take a physical action with respect to other objectsassociated with the environment 701 and/or generate or interact withenvironment 701. Whatever type of object device 772 is utilized, invarious embodiments, detection of the object device 772 by anotherdevice communicating with the object device 772, e.g. one or more cameradevices 775 or any other suitable device associated with the environment701 may be important, as receipt of data by the object device 772 andorientation of the object device 772 in relation to the data providingdevice may be important for the object device 772 to carry out itsfunctions. For example, if the object device 772 is a robot for takingan action in the environment 701, the one or more camera devices 775 mayfeed the object device 772 with image data acquired by scanning theenvironment (directly or indirectly by the tablet 702 receiving the dataand tram sitting it to the object device 772), where the image data mayprovide the robot 772 with the information it requires to move in theenvironment 701 and take an appropriate action in the environment 701,e.g. contact or move an object in associated therewith. By way ofexample, if the object device 772 is an augmented reality systemassociated with a user the one or more camera device 775 may provide theaugmented reality device with information that is relevant tocoordinating user movement in the real environment 701 in relation to avirtual environment associated with the augmented reality system 772. Invarious embodiments, proper detection of the object device 772 by therelevant component associated with the environment 701 may be importantin various contexts at least because the object device may perform aspatial orientation action that enhances its performance andfunctionality. In various embodiments, detection of the object 741 inthe actual or virtual environment facilitates this improvement.

In various embodiments, the tablet 702 may transmit the colorspace andcolor distribution associated with the object 741 and/or environment 701(and any portions or predicted changes associated therewith) to one ormore servers 774, where the one or more servers 774 may transmit thedata associated with the colorspaces to object device 772, which mayutilize the data for proper detection.

In various embodiments, the one or more scanning or camera devices 775continuously scan the environment 701 to determine if the colors andassociated colorspace of the environment changes, e.g. new colors areintroduced, colors are altered, and/or any other change occurs whichresults in the color profile of the environment 701 changing. Inresponse to detecting a change in the environment 701, the one or morescanning or camera devices 775 may transmit the image data associatedwith changed environment 701 to the tablet 702.

In various embodiments, with respect to the colorspace or colorspaces ofthe environment and/or the colorspace or colorspaces associated withenvironmental changes associated therewith, the tablet 702 (e.g. by anyof applications 705A-705E) may receive image data associated with thechange from the one or more camera devices 775, and perform any of theoperations associated with colorspace transformations, colorspaceconversions, and image processing as discussed herein, including but notlimited to the techniques associated with FIG. 1, FIG. 2A, FIG. 2B, FIG.3. FIG. 4, and FIG. 5A-5F, or any other colorspace optimizationtechniques, including but not limited to techniques directed togenerating colorspaces that do not contain black, white, or greyscalecolors after all conversions associated with the technique have takenplace. In various embodiments, the operations of the tablet 702 may becarried out directly by the object device 772 as outlined herein,including accepting and receiving image data from the one or more cameraand scanning devices 775, performing colorspace optimization techniques,and/or detecting object 741.

In various embodiments, one or more devices or components of FIG. 7B,including the tablet 702, the object device 772, the camera and/orscanning devices 775, and/or any other suitable devices associated withFIG. 7B can be configured to transmit, ingest, or process environmentalcolor changes and transmit them to one another as necessary to ensureproper detection of environmental changes, e.g. they can be configuredto scan the environment and transmit an associated histogram of theenvironment based on a pre-defined timing interval and/or based ondetecting a spectral change of a certain magnitude. In variousembodiments, appropriate mathematical operations are performed at therelevant processing device to process the various histograms (e.g. anappropriate mathematical averaging technique) to determine an accuraterepresentation of the environment, e.g. environment 701 or part of anenvironment 780, and in responses thereto, perform the colorspaceoptimization techniques (as discussed herein) to detect an object in theenvironment, e.g. 741, and/or to generate an optimized (virtual object)in relation to the environmental changes.

In various embodiments, the environmental change or change constitutingthe change for the colorspace of the first camera 775 and/or the secondcamera 775 can be based on (and optimized in relation to detecting anobject entering an environment in relation therewith) by utilizing asuitable histogram averaging technique processed into a single histogramrepresenting the environmental changes as a whole, e.g. a singlehistogram developed therefrom. In various embodiments, based on thatconsolidated-averaged histogram and colorspace representation associatedtherewith, one or more colorspace conversion (e.g. as discussed herein)can be performed with respect to the colorspace (and colorspacedistribution) of the object 741, and can be performed to optimizedetection of the one or more object 741 in relation to the environment.

In various embodiments, the environmental change or change constitutingthe change for the colorspace of the first camera 775 and/or the secondcamera 775 can be based on (and optimized in relation to detecting anobject entering an environment in relation therewith) by utilizing asuitable histogram averaging technique processed into a single histogramrepresenting the environmental changes as a whole, e.g. a singlehistogram developed therefrom. In various embodiments, based on thatconsolidated-averaged histogram and colorspace representation associatedtherewith, one or more colorspace conversion (e.g. as discussed herein)can be performed with respect to the colorspace (and colorspacedistribution) of the object 741, and can be performed to optimizedetection of the one or more object 741 in relation to the environment.

FIG. 8 illustrates an embodiment of a graphical user interface (GUI) 800for an application of the system 100. In some embodiments, the userinterface 800 is configured for the application 420 of FIG. 4.

The GUI 800, as illustrated in FIG. 8, includes several components, suchas a toolbar 802 and GUI elements. The toolbar 802 includes, as oneexample tool, a recognize text tool 804 that, when invoked, scans animage 806, e.g., a barcode generated from one or more colorspacetechniques and/or containing one or both of an ultraviolet layer and/orinfrared layer as outlined herein. The scan can be using a key and/orverification bit in order for a valid scan to take place, where a properscan may operate as a security measure to access and/or identifysensitive information 808. As described herein, the appropriatecolorspace transform mechanism provides the most accurate edge detectionresults because an underlying colorspace model has a higher likelihoodat edge detection than any other applicable colorspace model, and thebarcode can be generated with this in mind.

FIG. 9 illustrates an embodiment of an exemplary computing architecture900 suitable for implementing various embodiments as previouslydescribed. In one embodiment, the computing architecture 900 maycomprise or be implemented as part of an electronic device. Examples ofan electronic device may include those described with reference to FIG.3, among others. The embodiments are not limited in this context.

As used in this application, the terms “system” and “component” areintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution, examples of which are provided by the exemplary computingarchitecture 900. For example, a component can be, but is not limited tobeing, a process running on a processor, a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution, and a component canbe localized on one computer and/or distributed between two or morecomputers. Further, components may be communicatively coupled to eachother by various types of communications media to coordinate operations.The coordination may involve the uni-directional or bi-directionalexchange of information. For instance, the components may communicateinformation in the form of signals communicated over the communicationsmedia. The information can be implemented as signals allocated tovarious signal lines. In such allocations, each message is a signal.Further embodiments, however, may alternatively employ data messages.Such data messages may be sent across various connections. Exemplaryconnections include parallel interfaces, serial interfaces, and businterfaces.

The computing architecture 900 includes various common computingelements, such as one or more processors, multi-core processors,co-processors, memory units, chipsets, controllers, peripherals,interfaces, oscillators, timing devices, video cards, audio cards,multimedia input/output (I/O) components, power supplies, and so forth.The embodiments, however, are not limited to implementation by thecomputing architecture 900.

As shown in FIG. 9, the computing architecture 900 comprises aprocessing unit 904, a system memory 906 and a system bus 908. Theprocessing unit 904 can be any of various commercially availableprocessors, including without limitation an AMD® Athlon®, Duron® andOpteron® processors; ARM® application, embedded and secure processors;IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony®Cell processors; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®,Xeon®, and XScale® processors; and similar processors. Dualmicroprocessors, multi-core processors, and other multi-processorarchitectures may also be employed as the processing unit 904.

The system bus 908 provides an interface for system componentsincluding, but not limited to, the system memory 906 to the processingunit 904. The system bus 908 can be any of several types of busstructure that may further interconnect to a memory bus (with or withouta memory controller), a peripheral bus, and a local bus using any of avariety of commercially available bus architectures. Interface adaptersmay connect to the system bus 908 via a slot architecture. Example slotarchitectures may include without limitation Accelerated Graphics Port(AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA),Micro Channel Architecture (MCA), NuBus, Peripheral ComponentInterconnect (Extended) (PCI(X)), PCI Express, Personal Computer MemoryCard International Association (PCMCIA), and the like.

The computing architecture 900 may comprise or implement variousarticles of manufacture. An article of manufacture may comprise acomputer-readable storage medium to store logic. Examples of acomputer-readable storage medium may include any tangible media capableof storing electronic data, including volatile memory or non-volatilememory, removable or non-removable memory, erasable or non-erasablememory, writeable or re-writeable memory, and so forth. Examples oflogic may include executable computer program instructions implementedusing any suitable type of code, such as source code, compiled code,interpreted code, executable code, static code, dynamic code,object-oriented code, visual code, and the like. Embodiments may also beat least partly implemented as instructions contained in or on anon-transitory computer-readable medium, which may be read and executedby one or more processors to enable performance of the operationsdescribed herein.

The system memory 906 may include various types of computer-readablestorage media in the form of one or more higher speed memory units, suchas read-only memory (ROM), random-access memory (RAM), dynamic RAM(DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), staticRAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory, polymermemory such as ferroelectric polymer memory, ovonic memory, phase changeor ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, magnetic or optical cards, an array of devices such as RedundantArray of Independent Disks (RAID) drives, solid state memory devices(e.g., USB memory, solid state drives (SSD) and any other type ofstorage media suitable for storing information. In the illustratedembodiment shown in FIG. 9, the system memory 906 can includenon-volatile memory 910 and/or volatile memory 912. A basic input/outputsystem (BIOS) can be stored in the non-volatile memory 910.

The computer 902 may include various types of computer-readable storagemedia in the form of one or more lower speed memory units, including aninternal (or external) hard disk drive (HDD) 914, a magnetic floppy diskdrive (FDD) 916 to read from or write to a removable magnetic disk 918,and an optical disk drive 920 to read from or write to a removableoptical disk 922 (e.g., a CD-ROM or DVD). The HDD 914, FDD 916 andoptical disk drive 920 can be connected to the system bus 908 by a HDDinterface 924, an FDD interface 926 and an optical drive interface 928,respectively. The HDD interface 924 for external drive implementationscan include at least one or both of Universal Serial Bus (USB) and IEEE1394 interface technologies.

The drives and associated computer-readable media provide volatileand/or nonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For example, a number of program modules canbe stored in the drives and memory units 910, 912, including anoperating system 930, one or more application programs 932, otherprogram modules 934, and program data 936. In one embodiment, the one ormore application programs 932, other program modules 934, and programdata 936 can include, for example, the various applications and/orcomponents of the system 100.

A user can enter commands and information into the computer 902 throughone or more wire/wireless input devices, for example, a keyboard 938 anda pointing device, such as a mouse 940. Other input devices may includemicrophones, infra-red (IR) remote controls, radio-frequency (RF) remotecontrols, game pads, stylus pens, card readers, dongles, finger printreaders, gloves, graphics tablets, joysticks, keyboards, retina readers,touch screens (e.g., capacitive, resistive, etc.), trackballs,trackpads, sensors, styluses, and the like. These and other inputdevices are often connected to the processing unit 904 through an inputdevice interface 942 that is coupled to the system bus 908 but can beconnected by other interfaces such as a parallel port, IEEE 1394 serialport, a game port, a USB port, an IR interface, and so forth.

A monitor 944 or other type of display device is also connected to thesystem bus 908 via an interface, such as a video adaptor 946. Themonitor 944 may be internal or external to the computer 902. In additionto the monitor 944, a computer typically includes other peripheraloutput devices, such as speakers, printers, and so forth.

The computer 902 may operate in a networked environment using logicalconnections via wire and/or wireless communications to one or moreremote computers, such as a remote computer 948. The remote computer 948can be a workstation, a server computer, a router, a personal computer,portable computer, microprocessor-based entertainment appliance, a peerdevice or other common network node, and typically includes many or allof the elements described relative to the computer 902, although, forpurposes of brevity, only a memory/storage device 950 is illustrated.The logical connections depicted include wire/wireless connectivity to alocal area network (LAN) 952 and/or larger networks, for example, a widearea network (WAN) 954. Such LAN and WAN networking environments arecommonplace in offices and companies, and facilitate enterprise-widecomputer networks, such as intranets, all of which may connect to aglobal communications network, for example, the Internet.

When used in a LAN networking environment, the computer 902 is connectedto the LAN 952 through a wire and/or wireless communication networkinterface or adaptor 956. The adaptor 956 can facilitate wire and/orwireless communications to the LAN 952, which may also include awireless access point disposed thereon for communicating with thewireless functionality of the adaptor 956.

When used in a WAN networking environment, the computer 902 can includea modem 958, or is connected to a communications server on the WAN 954or has other means for establishing communications over the WAN 954,such as by way of the Internet. The modem 958, which can be internal orexternal and a wire and/or wireless device, connects to the system bus908 via the input device interface 942. In a networked environment,program modules depicted relative to the computer 902, or portionsthereof, can be stored in the remote memory/storage device 950. It maybe appreciated that the network connections shown are exemplary andother means of establishing a communications link between the computerscan be used.

The computer 902 is operable to communicate with wire and wirelessdevices or entities using the IEEE 802 family of standards, such aswireless devices operatively disposed in wireless communication (e.g.,IEEE 802.11 over-the-air modulation techniques). This includes at leastWi-Fi (or Wireless Fidelity), WiMax, and Bluetooth® wirelesstechnologies, among others. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices. Wi-Fi networks use radiotechnologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure,reliable, fast wireless connectivity. A Wi-Fi network can be used toconnect computers to each other, to the Internet, and to wire networks(which use IEEE 802.3-related media and functions).

FIG. 10 illustrates a block diagram of an exemplary communicationsarchitecture 1000 suitable for implementing various embodiments aspreviously described. The communications architecture 1000 includesvarious common communications elements, such as a transmitter, receiver,transceiver, radio, network interface, baseband processor, antenna,amplifiers, filters, power supplies, and so forth. The embodiments,however, are not limited to implementation by the communicationsarchitecture 1000.

As shown in FIG. 10, the communications architecture 1000 comprisesincludes one or more clients 1002 and servers 1004. The clients 1002 mayimplement the client device 310. The servers 1004 may implement theserver device 950. The clients 1002 and the servers 1004 are operativelyconnected to one or more respective client data stores 1008 and serverdata stores 1010 that can be employed to store information local to therespective clients 1002 and servers 1004, such as cookies and/orassociated contextual information.

The clients 1002 and the servers 1004 may communicate informationbetween each other using a communication framework 1006. Thecommunications framework 1006 may implement any well-knowncommunications techniques and protocols. The communications framework1006 may be implemented as a packet-switched network (e.g., publicnetworks such as the Internet, private networks such as an enterpriseintranet, and so forth), a circuit-switched network (e.g., the publicswitched telephone network), or a combination of a packet-switchednetwork and a circuit-switched network (with suitable gateways andtranslators).

The communications framework 1006 may implement various networkinterfaces arranged to accept, communicate, and connect to acommunications network. A network interface may be regarded as aspecialized form of an input output interface. Network interfaces mayemploy connection protocols including without limitation direct connect,Ethernet (e.g., thick, thin, twisted pair 10/100/1000 Base T, and thelike), token ring, wireless network interfaces, cellular networkinterfaces, IEEE 802.11a-x network interfaces, IEEE 802.16 networkinterfaces, IEEE 802.20 network interfaces, and the like. Further,multiple network interfaces may be used to engage with variouscommunications network types. For example, multiple network interfacesmay be employed to allow for the communication over broadcast,multicast, and unicast networks. Should processing requirements dictatea greater amount speed and capacity, distributed network controllerarchitectures may similarly be employed to pool, load balance, andotherwise increase the communicative bandwidth required by clients 1002and the servers 1004. A communications network may be any one and thecombination of wired and/or wireless networks including withoutlimitation a direct interconnection, a secured custom connection, aprivate network (e.g., an enterprise intranet), a public network (e.g.,the Internet), a Personal Area Network (PAN), a Local Area Network(LAN), a Metropolitan Area Network (MAN), an Operating Missions as Nodeson the Internet (OMNI), a Wide Area Network (WAN), a wireless network, acellular network, and other communications networks.

Some embodiments may be described using the expression “one embodiment”or “an embodiment” along with their derivatives. These terms mean that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment. Theappearances of the phrase “in one embodiment” in various places in thespecification are not necessarily all referring to the same embodiment.Further, some embodiments may be described using the expression“coupled” and “connected” along with their derivatives. These terms arenot necessarily intended as synonyms for each other. For example, someembodiments may be described using the terms “connected” and/or“coupled” to indicate that two or more elements are in direct physicalor electrical contact with each other. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other.

It is emphasized that the Abstract of the Disclosure is provided toallow a reader to quickly ascertain the nature of the technicaldisclosure. It is submitted with the understanding that it may not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, it can be seen thatvarious features are grouped together in a single embodiment for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the claimedembodiments require more features than are expressly recited in eachclaim. Rather, as the following claims reflect, inventive subject matterlies in less than all features of a single disclosed embodiment. Thus,the following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separateembodiment. In the appended claims, the terms “including” and “in which”are used as the plain-English equivalents of the respective terms“comprising” and “wherein,” respectively. Moreover, the terms “first,”“second,” “third,” and so forth, are used merely as labels, and are notintended to impose numerical requirements on their objects.

What has been described above includes examples of the disclosedarchitecture. It is, of course, not possible to describe everyconceivable combination of components and/or methodologies, but one ofordinary skill in the art may recognize that many further combinationsand permutations are possible. Accordingly, the novel architecture isintended to embrace all such alterations, modifications and variationsthat fall within the spirit and scope of the appended claims.

The invention claimed is:
 1. An apparatus, comprising: a memory to storeinstructions; and processing circuitry, coupled with the memory,operable to execute the instructions, that when executed, cause theprocessing circuitry to: identify a most prevalent plurality of colorsassociated with an object based on a histogram generated for the object;set a detection device to correspond to an inverse colorspace associatedwith a related plurality of colors, wherein the related plurality ofcolors have a relationship with the most prevalent plurality of colors;and detect the object using the detection device.
 2. The apparatus ofclaim 1, wherein the histogram is generated based on a representativedataset associated with a colorspace of the object.
 3. The apparatus ofclaim 2, wherein the inverse colorspace is the inverse of the colorspaceof the object.
 4. The apparatus of claim 1, wherein the relatedplurality of colors include an absent color in relation to the objectand at least one least prevalent color associated with the object. 5.The apparatus of claim 4, wherein the colorspace is based on atristimulus color system, wherein the most prevalent plurality colorsare mapped according to the colorspace.
 6. The apparatus of claim 5,wherein the inverse colorspace includes the absent color in relation tothe object and the at least one least prevalent color associated withthe object.
 7. The apparatus of claim 6, wherein the detection devicecomprises a camera or a scanner, wherein setting the detection device tocorrespond to the inverse colorspace comprises: determining at least oneset of color coordinates for each one of the most prevalent plurality ofcolors according to another colorspace; and determining at least one setof color coordinates corresponding to the related plurality of colorsaccording to the another colorspace, wherein the at least one set ofcoordinates of the most prevalent plurality of colors are perpendicular,with respect to the another colorspace, to the at least one set ofcoordinates of the related plurality of colors.
 8. A method, comprising:determining an inverse colorspace of a colorspace associated with anenvironment; and detecting an object in the environment, wherein theobject includes a plurality of colors, and wherein the object has acolor distribution that matches at least one color of the inversecolorspace.
 9. The method of claim 8, wherein each of the plurality ofcolors are at least one of an absent color in relation to theenvironment and a least prevalent color associated with the environment.10. The method of claim 9, wherein the inverse colorspace is derivedfrom a red-green-blue (RGB) colorspace and a derivative colorspace ofthe RGB colorspace.
 11. The method of claim 10, wherein the derivativecolorspace includes a filtered luminance channel, the method furthercomprising determining the colorspace associated with the environment.12. The method of claim 10, wherein the color distribution of the objectmatches a plurality of colors associated with the inverse colorspace.13. The method of claim 12, wherein the object includes at least fourdistinct colors, wherein each of the at least four distinct colors aredifferent with respect to one another.
 14. The method of claim 13,wherein each of the at least four distinct colors are different thaneach one of a most prevalent plurality of colors.
 15. The method ofclaim 14, wherein the at least four distinct colors each correspond to adistinct coordinate set of the derivative colorspace, and wherein eachof the at least four distinct colors are selected based on having amaximal opposite coordinate relationship with respect to at least one ofthe coordinate sets corresponding to the at least four prevalent colors.16. A system comprising: a camera device configured to: determine afirst colorspace corresponding to an environment; and determine a secondcolorspace corresponding to a change in the environment; and a computerdevice configured to: determine an inverse colorspace of at least one ofthe first colorspace or the second colorspace; and detect an object inthe environment based on the inverse colorspace.
 17. The system of claim16, wherein the object includes at least one color pursuant to theinverse colorspace, wherein the change in the environment is an actualchange in the environment or a predicted change in the environment. 18.The system of claim 16, wherein the object includes at least one colorpursuant to both the inverse colorspace of the first colorspace and theinverse colorspace of the second colorspace.
 19. The system of claim 16,wherein the computer device is configured to determine the inversecolorspace by converting the first colorspace or the second colorspaceinto another colorspace.
 20. The system of claim 19, wherein the objectcontains a color distribution with a plurality of colors correspondingto the another colorspace, wherein the another colorspace comprises aplurality of colors that are inverse in relation to at least one colorinboth the first colorspace and the second colorspace.